在開發微信公眾號時,很多開發者可能會頻繁遇到「無scope許可權」問題,其中最常見的就是「scope參數錯誤或無scope許可權」。本文將從多個方面對此問題進行詳細闡述。
一、scope許可權和授權信息
在微信公眾號開發中,scope是指應用授權作用域,通過scope,開發者可以獲取用戶信息、調用各種基礎服務API等許可權。在OAuth2.0授權流程中,用戶根據自己的需求選擇授權的範圍,最終獲取access_token和refresh_token。同時,每個scope都需要用戶在進行授權時單獨進行確認,例如獲取用戶信息需要用戶確認授權,才能獲取用戶基本信息。
二、scope參數錯誤或無scope許可權
當開發者在使用API時,如果傳遞了錯誤的scope參數或者沒有對應的scope許可權,就會出現「scope參數錯誤或無scope許可權」的問題。例如:
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN&scope=snsapi_base
上面是獲取用戶信息的API,但是在scope參數中傳遞了無效的值,會觸發錯誤。當然,如果沒有對應的scope許可權,同樣也會出現錯誤。
三、如何獲取scope許可權
在開發微信公眾號時,如何獲取scope許可權呢?首先,需要在公眾號配置中心進行設置。具體步驟如下:
1. 進入公眾號的「公眾號設置」頁面;
2. 點擊「公眾號設置」中的「功能設置」;
3. 找到「OAuth2.0網頁授權」模塊,點擊「修改」;
4. 選擇需要授權的scope許可權,例如「snsapi_userinfo」;
5. 點擊「提交」保存設置。
註:如果需要獲取用戶基本信息,需要將scope設置為「snsapi_userinfo」。
下面是示例代碼:
//獲取用戶基本信息API
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN&scope=snsapi_base
//獲取用戶詳細信息API
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN&scope=snsapi_userinfo
四、其他常見問題
1. 如果出現「系統繁忙」的錯誤提示,可以嘗試延遲請求時間或者重試;
2. 如果在使用API時,出現錯誤或者返回的數據不符合預期,可以通過微信官方文檔進行排查;
3. 如果在使用API時,出現訪問受限的錯誤或者需要授權,可以嘗試獲取對應的scope許可權,或者將公眾號信息進行完善。
五、總結
微信公眾號沒有scope許可權10005是常見的開發錯誤之一,在開發中需要仔細核對API參數和scope許可權,同時可以通過公眾號配置中心進行設置。如果遇到其他問題,可以參考微信官方文檔進行排查。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/287375.html