django搭建微信后台——获取用户信息(7.20)
2015-07-20 17:50
567 查看
略坑啊,啃文档啃得要吐了,pythonanywhere上又不好看问题出在哪又跑到本地各种测试才知道原来要授权,又跑去N久之前弄的测试账号,总之各种坑。。。不过总算是弄清楚怎么实现的了,参考方倍工作室:微信公众平台开发(76) 获取用户基本信息。
第一步是要从POST过来的XML包里面获取openid,也就是FromUserName。这个在开发包里并没有不知道为啥,或者是我没发现?0.0总之自己写了一小段把这个值取出来了。
第二步是获取access_token,直接用sdk的方法就可以,然后用get_user_info()这个方法带上openid,获得返回的值就是用户信息的json。
代码里测试的是发送hi返回用户的昵称。
这里最大最大的问题是,没认证的公众号没有权限获得这个信息“api unauthorized”真是蛋疼。
只能用之前弄过的测试账号
下面的菜单是N久之前弄的,,,可以无视之
第一步是要从POST过来的XML包里面获取openid,也就是FromUserName。这个在开发包里并没有不知道为啥,或者是我没发现?0.0总之自己写了一小段把这个值取出来了。
def get_openid(data): if type(data) == unicode: data = data.encode('utf-8') elif type(data) == str: pass xml = XMLStore(xmlstring=data) result = xml.xml2dict result['raw'] = data result['openid'] = result.pop('FromUserName') return result['openid']
第二步是获取access_token,直接用sdk的方法就可以,然后用get_user_info()这个方法带上openid,获得返回的值就是用户信息的json。
代码里测试的是发送hi返回用户的昵称。
if request.method=='POST': body_text=request.body wechat.parse_data(body_text) openid=get_openid(body_text) message = wechat.get_message() response = None if message.type == 'text': if message.content == 'hi': wechat.get_access_token() result=wechat.get_user_info(user_id=openid) response = wechat.response_text(result['nickname'])
这里最大最大的问题是,没认证的公众号没有权限获得这个信息“api unauthorized”真是蛋疼。
只能用之前弄过的测试账号
下面的菜单是N久之前弄的,,,可以无视之
相关文章推荐
- 网页微信登录原理
- Andriod图片选择器(单选-头像,多选-朋友圈上传):library+sample
- 应用集成UMeng,分享二维码到微信朋友和朋友圈
- 检测微信用户是否已经关注此公共平台
- 关于微信支付报错
- 按键精灵2014微信群内给好友轮流发私信
- 可穿戴设备(CC2541)上微信(8)
- 使用GTK编写的hello world小程序
- django搭建微信公众号后台——自动回复(7.20)
- 利用SSH反向通道在本地调试微信公共号
- 如何方便地调试微信JS-SDK
- C#/ASP.NET MVC微信公众号接口开发之从零开发(三)回复消息 (附源码)
- 微信开发中文字交互项目详解
- php下基于百度BAE的微信SDK框架
- 微信支付出现的问题总结--不同域名进行授权解决方案
- 微信开发———让微信debug到自己的程序中;
- 微信雷达
- 微信支付流程图最安全最详细(ios自学笔记)
- 微信错误提示code= -4/微信发送被拒绝
- 暑期档,让微信和大片陪你度过