荐 微信公众平台私有API, 得到用户fakeId

2019-03-02 00:10|来源: 网路

-------最新内容--------------------

本程序已复活, 多谢forecho(他的github:https://github.com/forecho)维护

---------以下内容时间久远---------------

最新在工作之余玩起了微信公众平台, 并且快速做了一个玩骰子的小游戏(公共微信号cometoplay), 因为这个游戏需要主动发送信息给用户, 所以需要用到微信的私有api, 思路很简单, 因为公共平台可以通过web发送给信息给用户, 那么可以通过程序模拟登录再调发送信息的接口即可.

在github上发现一个api(https://github.com/zscorpio/weChat), 下下来不能用, 因为cookie和没考虑到webToken(每次登录会根据时间(估计)生成一个token)导致不能用, 自己改写了下, 完善了些功能, 暂且可用. 已放在github上, 有兴趣的朋友可以下来用用: https://github.com/lealife/WeiXin-Private-API.

这里简单介绍下我做的小游戏cometoplay玩玩, 就是一个字符型的玩骰子功能: 用户先输入对方微信号和Ta玩骰子, 于是再设置骰子的6个面对应的选项(比如, 买菜做饭做菜全包, 拖地, 洗衣服, 洗碗, 倒垃圾, happy睡大觉), 然后系统随机生成一个结果, 并把该结果发送给对方. (另, 这个功能主要是因为和女朋友总是因为在哪吃饭不能抉择而浪费了大量时间的问题才开发的)

这里很重要的一点是要解析用户的信息, 每次用户关注cometoplay, 就需要解析该用户的信息, 把用户的fakeId, 微信号从web上解析下来放在自己的数据中, 不然就不能实现双方玩骰子, 主动发送信息给用户的功能了.

怎么解析用户的信息得到fakeId, 微信号呢?

当有用户发送信息后, 如何得到用户的fakeId?
1. 从web上得到最近发送的信息
2. 将用户发送的信息与web上发送的信息进行对比, 如果内容和时间都正确, 那肯定是该用户, 便得到用户的fakeId, 再调用接口得到用户的详细信息, 保存到自己的数据库中.
    实践发现, 时间可能会不对, 相隔1-2s或10多秒也有可能, 此时如果内容相同就断定是该用户

关于解析用户信息的接口已在WeiXin.php中有所体现, 稍微修改即可使用.

----------------

2013/8/17. 用户反应不能解析用户信息, 查原因是不能使用http协议了, 今天重新用curl发https请求才行. github已更新.

---------------

另, 微信公众平台接口改变很频繁, 本程序的修改速度有一定的滞后性, 若有朋友得知接口已变, 烦请告知我, 若能一起维护更好, lifephp@gmail.com, 多谢!


转自:http://my.oschina.net/lifephp/blog/147387

相关问答

更多
  • 这个是开发文档页面: https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2 用于企业向微信用户个人付款 目前支持向指定微信用户的openid付款。 我刚刚接到公司交待的这个任务,正在开发中。。。。
  • 不能实现这个逻辑 A只能把钱转给你 在B不是商户的情况下 你无法把钱转给B 微信不支持非商户的用户进行微信支付开发
  • 能使用的!微信 在安卓手机里可以使用,安装是用java 开发的,所以 可以用java开发
  • 擦, 我正要实现这个功能呢 都有源代码了啊 查看原帖>>
  • 微信公众平台开发注意事项: 一、微信公众平台开发是指为微信公众号进行业务开发,为移动应用、PC端网站、公众号第三方平台(为各行各业公众号运营者提供服务)的开发,请前往微信开放平台接入。 二、在申请到认证公众号之前,你可以先通过测试号申请系统,快速申请一个接口测试号,立即开始接口测试开发。 三、在开发过程中,可以使用接口调试工具来在线调试某些接口。 四、每个接口都有每日接口调用频次限制,可以在公众平台官网-开发者中心处查看具体频次。 五、在开发出现问题时,可以通过接口调用的返回码,以及报警排查指引(在公众平台 ...
  • 不知道 你说的什么。你服务器的账号密码 和你公众平台的登陆账号密码压根也没关系啊。和FTP也没关系啊 如果FTP 授权给root或者admin 那你则用root 或者admin的账号密码登陆就可以 你问的问题 压根没逻辑。。完全看不懂你说的。“ 端口是多少 ”是什么??哪个端口? FTP 的端口??FTP 端口是21
  • 具体还要看微信开放平台开放的接口权限 如果 开放平台不给你自动分享权限 那当然就实现不了 据我所知 只能做到 自动展现分享内容 那个分享的确定按钮还是需要人工点击的 具体参考微信开放平台技术文档
  • 微信公众平台订阅号每天只能发送一次推送。 不能单独给用户发送消息。只有一种可能就是用户24小时以内给公众平台发送过消息。你给用户推送的消息不属于你们的互动。这个是微信设置的,目的是不骚扰用户,但是给我们带来的不便,现在没有办法解决。