写了一个微信公众平台 Python 开发包,支持模拟登陆,欢迎围观,求意见 >_<

2014-08-23 17:03:22 +08:00
 doraemonext

最近在给社团写微信的一个管理后台,本身是订阅号但运营的那伙人想要各种高级功能……今天总算把这个开发包写得差不多了,下一步开发也方便多了,分享出来,希望对大家有用

项目地址: https://github.com/doraemonext/wechat-python-sdk (star一下也不错呢 >_<)

文档地址: http://wechat-python-sdk.readthedocs.org/

现在只是把基本功能写出来了,下一步会继续添加缓存,Session支持

下面直接把 README 贴出来

非官方微信公众平台 Python 开发包,包括官方接口和非官方接口。

目前提供的非官方接口功能有:

请注意:本开发包并不打算提供一个独立的完整微信解决方案,我们更希望这个开发包可以非常融洽的在各个框架中进行集成并使用,对于HTTP请求及响应方面并不涉及,该开发包仅仅接受必要参数,提供各种微信操作的方法,并返回相应的可以响应微信服务器的数据(Response)或操作执行结果。

14876 次点击
所在节点    分享创造
20 条回复
whtsky
2014-08-23 17:28:25 +08:00
顺便给自己的「独立的完整微信解决方案」 WeRoBot 打个广告=。=
代码: http://github.com/whtsky/WeRoBot (欢迎 Pull Request )
文档: https://werobot.readthedocs.org/

能和 Flask, Django 和 Tornado 比较好的整合,也可以独立运行。
doraemonext
2014-08-23 17:33:25 +08:00
@whtsky 官方接口里面的东西基本都是从你那偷的 >_<
kookxiang
2014-08-23 19:10:41 +08:00
收藏了,刚好缺主动消息这块的
bcxx
2014-08-23 19:20:25 +08:00
api 可以简化一下吧,没必要把 check signature 这部分交出来让用户来做,太繁琐了。
Aegwynn
2014-08-23 19:27:59 +08:00
我想问下,上传素材到微信服务器有效期只有三天的问题,怎么解决的?
renzhn
2014-08-23 19:29:27 +08:00
"不提供群发功能,此功能被微信公众平台明令禁止。"
咦,我用一个php版的自动上传素材,获取id,群发消息很久了。。微信号ahutapp
doraemonext
2014-08-23 20:34:29 +08:00
@Aegwynn 通过官方接口上传的素材有有效期限制,通过模拟登陆上传的素材都是永久的
doraemonext
2014-08-23 20:35:48 +08:00
@renzhn 只是说风险大而已 =。= 没有说一定会被封……这东西一般不都是看微信心情么……
doraemonext
2014-08-23 20:37:17 +08:00
@bcxx 这只是可选的,完全可以不做,主要是不想过多干涉HTTP请求处理这方面,对用户而言更灵活一些吧 =。=
whtsky
2014-08-23 20:48:44 +08:00
@kookxiang 主动消息这块儿有官方版的 API 啊,就是有一定限制(好像是两天之内给你的微信公共号发过信息)
https://werobot.readthedocs.org/en/latest/client.html
kookxiang
2014-08-23 20:51:02 +08:00
@whtsky 要刚加微信的才有效吧
whtsky
2014-08-23 21:02:43 +08:00
@kookxiang 应该没有这个限制.
doraemonext
2014-08-23 21:35:21 +08:00
@kookxiang 其实这里非官方接口实现的这些功能大部分是为了订阅号的,如果本身就是认证的服务号,其实基本用不着模拟登陆的,直接用官方API的客服消息就可以主动了
yakczh
2014-08-23 21:39:53 +08:00
这个可以每天群发吗?
wangleineo
2014-08-23 21:48:38 +08:00
原来模拟登录可以用Ajax做啊,我都用无头浏览器去做的..
有几个问题请教:
用ajax模拟登录不会要求验证码吗?
不明白为什么不能群发,官网页面可以群发图文消息的呀。
还有,你怎么知道这些url能返回json的?官网都是直接获取html的吧
还是感觉非官方的接口很脆弱,说不定哪天就改了,上个月好像就改过。
doraemonext
2014-08-23 22:09:51 +08:00
@yakczh 下一个版本会添加模拟官网群发的API,这次写完的API还是有点少了……

好像说的不能群发有点歧义……我指的是不会提供一个接口,可以直接对用户批量主动发送消息,这样应该就直接撞微信规定枪口上了……因为这样就能每天不限次数给用户发送消息了……(不过根据这里提供的API自己组合也就几句代码就能组合出来……自己组合好了>_<风险自负)
doraemonext
2014-08-23 22:16:36 +08:00
@wangleineo
验证码目前还没出现过,不过如果出现验证码的话会抛出 LoginError 异常,捕获后多试几次什么的;或者手动登陆之后把 token 和 cookies 传入,定时保持活动,这样应该也算一种方法吧(没有验证,纯属YY)

下一版本会添加 T_T 应该明天就好了,我也会把语言重新组织一下……这个群发有歧义了……

直接拦截各种请求然后慢慢找就好了……另外还借鉴了 https://github.com/dodgepudding/wechat-php-sdk 上面的一些内容

及时找到新的地址就好了,如果发现了哪个不能用了,fork改好之后请发个pull request或者直接提一个issue,会尽快更正过来发布新版本的 >_<
fire5
2014-08-29 11:30:28 +08:00
c386
2014-10-17 11:21:11 +08:00
@doraemonext 使用了一下非官方的接口群发消息,非常赞!!
我这里还有一个小疑问想请教一下,如果是用官方接口来自动回复语音、视频,那么回复的midea_id必须是通过官方接口上传的素材才会有,而且三天后就删除。那我想要长期实现这些素材的自动回复,是不是应该写 如果midea_id存在, 则回复;else:上传素材,返回midea_id,再回复 这样呢?
谢谢!
doraemonext
2014-12-09 13:34:38 +08:00
@c386 不好意思。。。才发现有回复。。。

是这样的 =.=

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/129474

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX