高級接口--獲取用戶基本信息


官方文檔

在關注者與公眾號產生消息交互后,公眾號可獲得關注者的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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM