知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
微信公眾號開發(fā)筆記
發(fā)表時間:2020-10-10
發(fā)布人:葵宇科技
瀏覽次數(shù):72
1、網(wǎng)頁授權回調(diào)域名
在微信公眾號請求用戶網(wǎng)頁授權之前,開發(fā)者需要先到公眾平臺官網(wǎng)中的“開發(fā) - 接口權限 - 網(wǎng)頁服務 - 網(wǎng)頁帳號 - 網(wǎng)頁授權獲取用戶基本信息”的配置選項中,修改授權回調(diào)域名。請注意,這里填寫的是域名(是一個字符串),而不是URL,因此請勿加 http:// 等協(xié)議頭;
2、引導用戶進入授權頁面同意授權,獲取code(在客戶端完成)
參數(shù)是否必須說明示例appid是公眾號的唯一標識wx520c15f417810387redirect_uri是授權后重定向的回調(diào)鏈接地址, 請使用 urlEncode 對鏈接進行處理redirect_uriresponse_type是返回類型,請?zhí)顚慶odecodescope是應用授權作用域,snsapi_base (不彈出授權頁面,直接跳轉,只能獲取用戶openid),snsapi_userinfo (彈出授權頁面,可通過openid拿到昵稱、性別、所在地。并且, 即使在未關注的情況下,只要用戶授權,也能獲取其信息 )snsapi_base 或者 snsapi_userinfostate否重定向后會帶上state參數(shù),開發(fā)者可以填寫a-zA-Z0-9的參數(shù)值,最多128字節(jié)STATE#wechat_redirect是無論直接打開還是做頁面302重定向時候,必須帶此參數(shù)#wechat_redirecthttps://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
用戶同意授權后(跳轉至微信網(wǎng)頁授權中間頁面)
如果用戶同意授權,頁面將跳轉至 redirect_uri/?code=CODE&state=STATE
在獲取到code后立即把code傳送給服務器,由服務器去獲取 access_token 和 openId
code說明 : code作為換取access_token的票據(jù),每次用戶授權帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動過期。
3、通過code換取網(wǎng)頁授權access_token (由于公眾號的secret和獲取到的access_token安全級別都非常高,必須從服務器發(fā)起)
參數(shù)是否必須說明appid是公眾號的唯一標識secret是公眾號的appsecretcode是填寫第一步獲取的code參數(shù)grant_type是填寫為authorization_code取code后,請求以下鏈接獲取access_token: https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
正確時返回的JSON數(shù)據(jù)包如下:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
參數(shù)描述access_token網(wǎng)頁授權接口調(diào)用憑證,注意:此access_token與基礎支持的access_token不同expires_inaccess_token接口調(diào)用憑證超時時間,單位(秒)refresh_token用戶刷新access_tokenopenid用戶唯一標識,請注意,在未關注公眾號時,用戶訪問公眾號的網(wǎng)頁,也會產(chǎn)生一個用戶和公眾號唯一的OpenIDscope用戶授權的作用域,使用逗號(,)分隔
錯誤時微信會返回JSON數(shù)據(jù)包如下(示例為code無效錯誤):
{"errcode":40029,"errmsg":"invalid code"}
4、拉取用戶信息(需scope為 snsapi_userinfo,從服務器發(fā)起)
如果網(wǎng)頁授權作用域為snsapi_userinfo,則此時開發(fā)者可以通過access_token和openid拉取用戶信息了。
參數(shù)描述access_token網(wǎng)頁授權接口調(diào)用憑證,注意:此access_token與基礎支持的access_token不同openid用戶的唯一標識lang返回國家地區(qū)語言版本,zh_CN 簡體,zh_TW 繁體,en 英語http:GET(請使用https協(xié)議) https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
正確時返回的JSON數(shù)據(jù)包如下:
{
"openid":" OPENID",
"nickname": NICKNAME,
"sex":"1",
"province":"PROVINCE",
"city":"CITY",
"country":"COUNTRY",
"headimgurl": "http://thirdwx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46",
"privilege":[ "PRIVILEGE1" "PRIVILEGE2" ],
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
}
參數(shù)描述openid用戶的唯一標識nickname用戶昵稱sex用戶的性別,值為1時是男性,值為2時是女性,值為0時是未知province用戶個人資料填寫的省份city普通用戶個人資料填寫的城市country國家,如中國為CNheadimgurl用戶頭像,最后一個數(shù)值代表正方形頭像大小(有0、46、64、96、132數(shù)值可選,0代表640*640正方形頭像),用戶沒有頭像時該項為空。若用戶更換頭像,原有頭像URL將失效。privilege用戶特權信息,json 數(shù)組,如微信沃卡用戶為(chinaunicom)unionid只有在用戶將公眾號綁定到微信開放平臺帳號后,才會出現(xiàn)該字段。
錯誤時微信會返回JSON數(shù)據(jù)包如下(示例為openid無效):
{"errcode":40003,"errmsg":" invalid openid "}
獲取用戶微信信息成功后,查詢openId 是否已存在,不存在時保持openId 到數(shù)據(jù)庫中,最后發(fā)送 xtoken、 nickname、headimgurl 給客戶端展示。
附1、刷新access_token(如果需要)
由于access_token擁有較短的有效期,當access_token超時后,可以使用refresh_token進行刷新,refresh_token有效期為30天,當refresh_token失效之后,需要用戶重新授權。
參數(shù)是否必須說明appid是公眾號的唯一標識grant_type是填寫為refresh_tokenrefresh_token是填寫通過access_token獲取到的refresh_token參數(shù)獲取第二步的refresh_token后,請求以下鏈接獲取access_token: https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
正確時返回的JSON數(shù)據(jù)包如下:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}
參數(shù)描述access_token網(wǎng)頁授權接口調(diào)用憑證,注意:此access_token與基礎支持的access_token不同expires_inaccess_token接口調(diào)用憑證超時時間,單位(秒)refresh_token用戶刷新access_tokenopenid用戶唯一標識scope用戶授權的作用域,使用逗號(,)分隔
附2、檢驗授權憑證(access_token)是否有效
參數(shù)描述access_token網(wǎng)頁授權接口調(diào)用憑證,注意:此access_token與基礎支持的access_token不同openid用戶的唯一標識http:GET(請使用https協(xié)議) https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID
返回說明 正確的JSON返回結果:
{ "errcode":0,"errmsg":"ok"}
錯誤時的JSON返回示例:
{ "errcode":40003,"errmsg":"invalid openid"}
相關案例查看更多
相關閱讀
- 國內(nèi)知名網(wǎng)站建設公司排名
- 網(wǎng)站建設首頁
- 網(wǎng)站建設招商
- 微分銷
- 汽車報廢回收管理軟件
- 小程序
- 云南小程序開發(fā)哪家好
- 汽車報廢軟件
- web學習路線
- 報廢車拆解系統(tǒng)
- typescript
- 電商網(wǎng)站建設
- asp網(wǎng)站
- 汽車拆解系統(tǒng)
- 網(wǎng)站建設價格
- 云南小程序開發(fā)費用
- 小程序生成海報
- 網(wǎng)站建設服務
- 紅河小程序開發(fā)
- 南通小程序制作公司
- 汽車回收系統(tǒng)
- 報廢車管理系統(tǒng)
- 網(wǎng)站建設開發(fā)
- 網(wǎng)站小程序
- 麗江小程序開發(fā)
- 前端開發(fā)
- 區(qū)塊鏈
- 云南網(wǎng)站建設
- 云南手機網(wǎng)站建設
- vue開發(fā)小程序