首页 > 微信 > 详细

django搭建微信后台——获取用户信息(7.20)

时间:2015-07-20 23:50:26      阅读:1509      评论:0      收藏:0      [点我收藏+]

略坑啊,啃文档啃得要吐了,pythonanywhere上又不好看问题出在哪又跑到本地各种测试才知道原来要授权,又跑去N久之前弄的测试账号,总之各种坑。。。不过总算是弄清楚怎么实现的了,参考方倍工作室:微信公众平台开发(76) 获取用户基本信息

第一步是要从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久之前弄的,,,可以无视之

版权声明:本文为博主原创文章,未经博主允许不得转载。

django搭建微信后台——获取用户信息(7.20)

原文:http://blog.csdn.net/zhu_free/article/details/46971735

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!