1.開(kāi)發(fā)前的公眾平臺(tái)配置
首先確定微信公眾號(hào)是服務(wù)號(hào)還是訂閱號(hào)(這里只介紹服務(wù)號(hào))
1.1申請(qǐng)測(cè)試賬號(hào)用于本地開(kāi)發(fā)
? ?開(kāi)發(fā)->開(kāi)發(fā)者工具->公眾平臺(tái)測(cè)試賬號(hào)->配置賬號(hào)信息(獲取用戶信息公眾號(hào)必須具備網(wǎng)頁(yè)賬號(hào)權(quán)限)
點(diǎn)擊修改配置授權(quán)回掉頁(yè)面
1.2正式環(huán)境配置
可以在設(shè)置的js接口安全域名下調(diào)用微信開(kāi)放的JS接口
用戶在網(wǎng)頁(yè)授權(quán)頁(yè)同意授權(quán)給公眾號(hào)后帘靡,微信會(huì)將授權(quán)數(shù)據(jù)傳給一個(gè)回調(diào)頁(yè)面,回調(diào)頁(yè)面需在此域名下
2.網(wǎng)頁(yè)授權(quán)
1.用戶打開(kāi)推廣出去的地址,頁(yè)面中需要判斷用戶打開(kāi)的地址中是否帶有code參數(shù)(是否已經(jīng)授權(quán))
2.存在code(說(shuō)明用戶已經(jīng)授權(quán))否則調(diào)用授權(quán)頁(yè)面
(1)授權(quán)頁(yè)面完整地址:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri="+redirect_uri+"&response_type=code&scope=snsapi_userinfo#wechat_redirect
(2)scope有兩個(gè)值分別是:(獲取用戶基本信息甫匹,這里scope的值選snsapi_userinfo)
?(a.)snsapi_base (不彈出授權(quán)頁(yè)面傲须,直接跳轉(zhuǎn)蓝牲,只能獲取用戶openid)
?(b.)snsapi_userinfo (彈出授權(quán)頁(yè)面,可通過(guò)openid拿到昵稱泰讽、性別例衍、所在地。并且菇绵, 即使在未關(guān)注的情況下肄渗,只要用戶授權(quán),也能獲取其信息 )
3.用戶會(huì)看到一個(gè)如下的授權(quán)頁(yè)面
4.用戶確認(rèn)后咬最,頁(yè)面會(huì)跳轉(zhuǎn)到redirect_uri/?code=CODE&state=STATE翎嫡。在后面加上code
到此為止,已經(jīng)完成了用戶授權(quán)
3.獲取用戶基本信息
? ? 通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token永乌、用access_token拉取用戶信息(這兩部可以由后端完成)惑申,也可以前端完成
? ? 具體可以參考網(wǎng)頁(yè)授權(quán)的開(kāi)發(fā)文檔
4.微信分享
確保使用JSSDK(微信分享)的域名是第一部分平臺(tái)配置中的JS接口安全域名
1.引入js文件
2.通過(guò)config接口驗(yàn)證配置(可以請(qǐng)求后臺(tái)接口拿到config需要的屬性值)
3.分享功能(希望在頁(yè)面加載時(shí)就初始化分享)
5.遇到的問(wèn)題
(1)分享出去的標(biāo)題、描述翅雏、和圖片與設(shè)置的不一致
授權(quán)的切入點(diǎn):
(a.)開(kāi)發(fā)時(shí)準(zhǔn)備整個(gè)活動(dòng)的入口就是https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=url&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect 打開(kāi)活動(dòng)首頁(yè)就進(jìn)行微信授權(quán)圈驼。拿到code換取token進(jìn)行正常的頁(yè)面渲染
既然入口就是微信授權(quán),分享出去的鏈接也必須是授權(quán)頁(yè)面(上面的地址)望几。此時(shí)出現(xiàn)了分享的標(biāo)題绩脆、描述等不一致的問(wèn)題。
原因:分享的地址出錯(cuò)了橄抹,導(dǎo)致分享失敗
修改js安全域名靴迫??楼誓?玉锌?下圖說(shuō)明行不通,要將一個(gè)文件上傳到填寫(xiě)的域名下疟羹,以證明此域名是有效的
此時(shí)意識(shí)到主守,思路出錯(cuò)了,分享出去的鏈接只能是頁(yè)面地址榄融,不可以加上微信授權(quán)参淫。
(b.)入口是頁(yè)面地址,在頁(yè)面代碼中進(jìn)行頁(yè)面授權(quán)愧杯。即(2.網(wǎng)頁(yè)授權(quán))中的步驟
PS:第一次寫(xiě)文章黄刚,表達(dá)不是很清楚,請(qǐng)見(jiàn)諒民效!