• 高级接口--获取用户基本信息


    官方文档

    在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID(加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。

    关于网页授权的两种scope的区别说明

    1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)

    2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。(我是用测试号测试这个功能的,发现还是需要关注的。具体要看实际公众号体验了)

    3、用户管理类接口中的“获取用户基本信息接口”,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。

    获取用户的基本信息

    def get_userinfo(access_token,openid,lang='zh_CN'):
        #需要用户关注公众号
        query_url = 'https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s&lang=%s'%(access_token,openid,lang)
        response = requests.get(query_url)
        return json.loads(response.text)

    根据条件批量获取用户信息

    def get_batch_userinf(access_token,postdata):
        '''postdata ={
        "user_list": [
            {
                "openid": "o-TXmsiCVUNT0iDRRaiW8iTxhx4Q",
                "lang": "zh_CN"
            },
        ]'''
        query_url ='https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=%s'%access_token
        postdata = json.dumps(postdata,ensure_ascii=False)
        response = requests.post(query_url,postdata)
        return json.loads(response.text)

    获取关注者列表

    def get_fans(access_token,next_openid=''):
        #获取关注者列表
        query_url = 'https://api.weixin.qq.com/cgi-bin/user/get?access_token=%s&next_openid=%s'%(access_token,next_openid)
        response = requests.get(query_url)
        return json.loads(response.text)
  • 相关阅读:
    一个简单实现的遮罩层
    文字内容过长是自动出现省略号
    Maven入门学习(下)
    Maven入门学习(上)
    使用ODP.NET查询数据参数顺序问题及莫名ORA-01722错误提示
    Xamarin开发Android笔记:TextView行间距设定
    Xamarin开发Android笔记:图片切换ImageSwitcher
    Xamarin开发Android笔记:背景操作
    UI创意求助:手机贪吃蛇游戏方向控制键设计
    做梦想起来的C#简单实现贪吃蛇程序(LinQ + Entity)
  • 原文地址:https://www.cnblogs.com/ahMay/p/12072537.html
Copyright © 2020-2023  润新知