日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

關注了微信公眾號怎么獲取用戶的信息以及openid和手機號的綁定

1.登錄微信公眾平臺設置需要的菜單,以綁定微信賬號為例

微信公眾號添加菜單欄和網頁授權

 


微信公眾號添加菜單欄和網頁授權

 

2.網頁地址填寫自己接口地址或者跳轉地址

3.后臺接口(php 僅供參考)

微信公眾號添加菜單欄和網頁授權

 

兩個紅圈的地址是該接口地址,這個可以獲取到用戶的openid,下面的接口是用戶的openid和手機號進行綁定

下面參考微信官方文檔

如果用戶在微信客戶端中訪問第三方網頁,公眾號可以通過微信網頁授權機制,來獲取用戶基本信息,進而實現業務邏輯。

關于網頁授權回調域名的說明

1、在微信公眾號請求用戶網頁授權之前,開發者需要先到公眾平臺官網中的“開發 - 接口權限 - 網頁服務 - 網頁帳號 - 網頁授權獲取用戶基本信息”的配置選項中,修改授權回調域名。請注意,這里填寫的是域名(是一個字符串),而不是URL,因此請勿加 http:// 等協議頭;

2、授權回調域名配置規范為全域名,比如需要網頁授權的域名為:www.qq.com,配置以后此域名下面的頁面
http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以進行OAuth2.0鑒權。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com 無法進行OAuth2.0鑒權

3、如果公眾號登錄授權給了第三方開發者來進行管理,則不必做任何設置,由第三方代替公眾號實現網頁授權即可

關于網頁授權的兩種scope的區別說明

1、以snsapi_base為scope發起的網頁授權,是用來獲取進入頁面的用戶的openid的,并且是靜默授權并自動跳轉到回調頁的。用戶感知的就是直接進入了回調頁(往往是業務頁面)

2、以snsapi_userinfo為scope發起的網頁授權,是用來獲取用戶的基本信息的。但這種授權需要用戶手動同意,并且由于用戶同意過,所以無須關注,就可在授權后獲取該用戶的基本信息。

3、用戶管理類接口中的“獲取用戶基本信息接口”,是在用戶和公眾號產生消息交互或關注后事件推送后,才能根據用戶OpenID來獲取用戶基本信息。這個接口,包括其他微信接口,都是需要該用戶(即openid)關注了公眾號后,才能調用成功的。

關于網頁授權access_token和普通access_token的區別

1、微信網頁授權是通過OAuth2.0機制實現的,在用戶授權給公眾號后,公眾號可以獲取到一個網頁授權特有的接口調用憑證(網頁授權access_token),通過網頁授權access_token可以進行授權后接口調用,如獲取用戶基本信息;

2、其他微信接口,需要通過基礎支持中的“獲取access_token”接口來獲取到的普通access_token調用。

關于UnionID機制

1、請注意,網頁授權獲取用戶基本信息也遵循UnionID機制。即如果開發者有在多個公眾號,或在公眾號、移動應用之間統一用戶帳號的需求,需要前往微信開放平臺(open.weixin.qq.com)綁定公眾號后,才可利用UnionID機制來滿足上述需求。

2、UnionID機制的作用說明:如果開發者擁有多個移動應用、網站應用和公眾帳號,可通過獲取用戶基本信息中的unionid來區分用戶的唯一性,因為同一用戶,對同一個微信開放平臺下的不同應用(移動應用、網站應用和公眾帳號),unionid是相同的。

關于特殊場景下的靜默授權

1、上面已經提到,對于以snsapi_base為scope的網頁授權,就靜默授權的,用戶無感知;

2、對于已關注公眾號的用戶,如果用戶從公眾號的會話或者自定義菜單進入本公眾號的網頁授權頁,即使是scope為snsapi_userinfo,也是靜默授權,用戶無感知。

具體而言,網頁授權流程分為四步:

1、引導用戶進入授權頁面同意授權,獲取code

2、通過code換取網頁授權access_token(與基礎支持中的access_token不同)

3、如果需要,開發者可以刷新網頁授權access_token,避免過期

4、通過網頁授權access_token和openid獲取用戶基本信息(支持UnionID機制)

目錄

1 第一步:用戶同意授權,獲取code

2 第二步:通過code換取網頁授權access_token

3 第三步:刷新access_token(如果需要)

4 第四步:拉取用戶信息(需scope為 snsapi_userinfo)

5 附:檢驗授權憑證(access_token)是否有效

 

第一步:用戶同意授權,獲取code

在確保微信公眾賬號擁有授權作用域(scope參數)的權限的前提下(服務號獲得高級接口后,默認擁有scope參數中的snsapi_base和snsapi_userinfo),引導關注者打開如下頁面:


https://open.weixin.qq.com/connect/oauth2/authorize?Appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect 若提示“該鏈接無法訪問”,請檢查參數是否填寫錯誤,是否擁有scope參數對應的授權作用域權限。

尤其注意:由于授權操作安全等級較高,所以在發起授權請求時,微信會對授權鏈接做正則強匹配校驗,如果鏈接的參數順序不對,授權頁面將無法正常訪問

參考鏈接(請在微信客戶端中打開此鏈接體驗):

scope為snsapi_base

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&state=123#wechat_redirect

scope為snsapi_userinfo

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect

尤其注意:跳轉回調redirect_uri,應當使用https鏈接來確保授權code的安全性。

參數說明

參數

是否必須

說明

appid

公眾號的唯一標識

redirect_uri

授權后重定向的回調鏈接地址, 請使用 urlEncode 對鏈接進行處理

response_type

返回類型,請填寫code

scope

應用授權作用域,snsapi_base (不彈出授權頁面,直接跳轉,只能獲取用戶openid),snsapi_userinfo (彈出授權頁面,可通過openid拿到昵稱、性別、所在地。并且, 即使在未關注的情況下,只要用戶授權,也能獲取其信息 )

state

重定向后會帶上state參數,開發者可以填寫a-zA-Z0-9的參數值,最多128字節

#wechat_redirect

無論直接打開還是做頁面302種定向時候,必須帶此參數

下圖為scope等于snsapi_userinfo時的授權頁面:

微信公眾號添加菜單欄和網頁授權

 

用戶同意授權后

如果用戶同意授權,頁面將跳轉至 redirect_uri/?code=CODE&state=STATE。

code說明 : code作為換取access_token的票據,每次用戶授權帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動過期。

錯誤返回碼說明如下:

返回碼

說明

10003

redirect_uri域名與后臺配置不一致

10004

此公眾號被封禁

10005

此公眾號并沒有這些scope的權限

10006

必須關注此測試號

10009

操作太頻繁了,請稍后重試

10010

scope不能為空

10011

redirect_uri不能為空

10012

appid不能為空

10013

state不能為空

10015

公眾號未授權第三方平臺,請檢查授權狀態

10016

不支持微信開放平臺的Appid,請使用公眾號Appid

 

第二步:通過code換取網頁授權access_token

首先請注意,這里通過code換取的是一個特殊的網頁授權access_token,與基礎支持中的access_token(該access_token用于調用其他接口)不同。公眾號可通過下述接口來獲取網頁授權access_token。如果網頁授權的作用域為snsapi_base,則本步驟中獲取到網頁授權access_token的同時,也獲取到了openid,snsapi_base式的網頁授權流程即到此為止。

尤其注意:由于公眾號的secret和獲取到的access_token安全級別都非常高,必須只保存在服務器,不允許傳給客戶端。后續刷新access_token、通過access_token獲取用戶信息等步驟,也必須從服務器發起。

請求方法

獲取code后,請求以下鏈接獲取access_token:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

參數說明

參數

是否必須

說明

appid

公眾號的唯一標識

secret

公眾號的appsecret

code

填寫第一步獲取的code參數

grant_type

填寫為authorization_code

返回說明

正確時返回的JSON數據包如下:

{
  "access_token":"ACCESS_TOKEN",
  "expires_in":7200,
  "refresh_token":"REFRESH_TOKEN",
  "openid":"OPENID",
  "scope":"SCOPE" 
}

參數

描述

access_token

網頁授權接口調用憑證,注意:此access_token與基礎支持的access_token不同

expires_in

access_token接口調用憑證超時時間,單位(秒)

refresh_token

用戶刷新access_token

openid

用戶唯一標識,請注意,在未關注公眾號時,用戶訪問公眾號的網頁,也會產生一個用戶和公眾號唯一的OpenID

scope

用戶授權的作用域,使用逗號(,)分隔

錯誤時微信會返回JSON數據包如下(示例為Code無效錯誤):

{"errcode":40029,"errmsg":"invalid code"}

 

第三步:刷新access_token(如果需要)

由于access_token擁有較短的有效期,當access_token超時后,可以使用refresh_token進行刷新,refresh_token有效期為30天,當refresh_token失效之后,需要用戶重新授權。

請求方法

獲取第二步的refresh_token后,請求以下鏈接獲取access_token:
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN

參數

是否必須

說明

appid

公眾號的唯一標識

grant_type

填寫為refresh_token

refresh_token

填寫通過access_token獲取到的refresh_token參數

返回說明

正確時返回的JSON數據包如下:

{ 
  "access_token":"ACCESS_TOKEN",
  "expires_in":7200,
  "refresh_token":"REFRESH_TOKEN",
  "openid":"OPENID",
  "scope":"SCOPE" 
}

參數

描述

access_token

網頁授權接口調用憑證,注意:此access_token與基礎支持的access_token不同

expires_in

access_token接口調用憑證超時時間,單位(秒)

refresh_token

用戶刷新access_token

openid

用戶唯一標識

scope

用戶授權的作用域,使用逗號(,)分隔

錯誤時微信會返回JSON數據包如下(示例為code無效錯誤):

{"errcode":40029,"errmsg":"invalid code"}

 

第四步:拉取用戶信息(需scope為 snsapi_userinfo)

如果網頁授權作用域為snsapi_userinfo,則此時開發者可以通過access_token和openid拉取用戶信息了。

請求方法

http:GET(請使用https協議)
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

參數說明

參數

描述

access_token

網頁授權接口調用憑證,注意:此access_token與基礎支持的access_token不同

openid

用戶的唯一標識

lang

返回國家地區語言版本,zh_CN 簡體,zh_TW 繁體,en 英語

返回說明

正確時返回的JSON數據包如下:

{   
  "openid": "OPENID",
  "nickname": NICKNAME,
  "sex": 1,
  "province":"PROVINCE",
  "city":"CITY",
  "country":"COUNTRY",
  "headimgurl":"https://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
  "privilege":[ "PRIVILEGE1" "PRIVILEGE2"     ],
  "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}

參數

描述

openid

用戶的唯一標識

nickname

用戶昵稱

sex

用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知

province

用戶個人資料填寫的省份

city

普通用戶個人資料填寫的城市

country

國家,如中國為CN

headimgurl

用戶頭像,最后一個數值代表正方形頭像大小(有0、46、64、96、132數值可選,0代表640*640正方形頭像),用戶沒有頭像時該項為空。若用戶更換頭像,原有頭像URL將失效。

privilege

用戶特權信息,json 數組,如微信沃卡用戶為(chinaunicom)

unionid

只有在用戶將公眾號綁定到微信開放平臺帳號后,才會出現該字段。

錯誤時微信會返回JSON數據包如下(示例為openid無效):

{"errcode":40003,"errmsg":" invalid openid "}

 

附:檢驗授權憑證(access_token)是否有效

請求方法

http:GET(請使用https協議)
https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID

參數說明

參數

描述

access_token

網頁授權接口調用憑證,注意:此access_token與基礎支持的access_token不同

openid

用戶的唯一標識

返回說明 正確的JSON返回結果:

{ "errcode":0,"errmsg":"ok"}

錯誤時的JSON返回示例:

{ "errcode":40003,"errmsg":"invalid openid"}

分享到:
標簽:公眾
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定