公眾號網頁授權後擷取使用者基本資料出現access_token非法提示

來源:互聯網
上載者:User
首先我確定我的公眾號是認證的服務號,而且已經設定了與當前訪問的網域名稱一樣的公眾號授權網域名稱,而且授權的方式是出現提示框的那種(即可擷取使用者資訊的)而非靜默授權。
我的開發流程:
1、調用介面http://open.weixin.qq.com/connect/oauth2/authorize?appid=公眾號APPID&redirect_uri=我的地址&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect ,並成功擷取code。
2、利用code擷取access_token,調用https://api.weixin.qq.com/sns/oauth2/access_token?appid=公眾號APPID&secret=公眾號APPSECRET&code=CODE&grant_type=authorization_code,並成功擷取access_token,refresh_token,openid等資料
3、利用上面獲得的access_token擷取使用者https://api.weixin.qq.com/cgi-bin/user/info?access_token=上面擷取的access_token&openid=上面擷取的openid&lang=zh_CN,但這裡擷取到的資訊是錯誤的資訊,errcode是40001,errmsg:invalid credential,access_token is invalid or not latest hint:[25XmA020.....]。

步驟看上去像是正確的,為什麼通過授權的access_token都不能擷取到使用者資訊?我可是一擷取到access_token馬上用來擷取使用者資訊的,應該不會是access_token逾時的原因啊。哪位大神知道是什麼問題?

回複內容:

首先我確定我的公眾號是認證的服務號,而且已經設定了與當前訪問的網域名稱一樣的公眾號授權網域名稱,而且授權的方式是出現提示框的那種(即可擷取使用者資訊的)而非靜默授權。
我的開發流程:
1、調用介面http://open.weixin.qq.com/connect/oauth2/authorize?appid=公眾號APPID&redirect_uri=我的地址&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect ,並成功擷取code。
2、利用code擷取access_token,調用https://api.weixin.qq.com/sns/oauth2/access_token?appid=公眾號APPID&secret=公眾號APPSECRET&code=CODE&grant_type=authorization_code,並成功擷取access_token,refresh_token,openid等資料
3、利用上面獲得的access_token擷取使用者https://api.weixin.qq.com/cgi-bin/user/info?access_token=上面擷取的access_token&openid=上面擷取的openid&lang=zh_CN,但這裡擷取到的資訊是錯誤的資訊,errcode是40001,errmsg:invalid credential,access_token is invalid or not latest hint:[25XmA020.....]。

步驟看上去像是正確的,為什麼通過授權的access_token都不能擷取到使用者資訊?我可是一擷取到access_token馬上用來擷取使用者資訊的,應該不會是access_token逾時的原因啊。哪位大神知道是什麼問題?

擷取使用者資訊的介面需要進行認證

你報的這個錯誤應該是access_token失效導致的,是不是用什麼緩衝來儲存access_token了,那樣的話,建議先清空下緩衝再試試。http://www.weixin.com

我再強調一遍,網頁授權擷取使用者資訊的介面是

http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html

而不是

http://mp.weixin.qq.com/wiki/14/bb5031008f1494a59c6f71fa0f319c66.html

網頁授權的 AccessToken 和擷取使用者資訊的 AccessToken 不是一個東西。

也就是你上面的第 3 步的介面地址應是

https://api.weixin.qq.com/sns/userinfo

而不是

https://api.weixin.qq.com/cgi-bin/user/info

參考:https://github.com/thenbsp/wechat

10/6 更新

真不知道踩的人是什麼心理,也不知道踩的人有沒有仔細查看管方文檔,如果覺得我的回答不對,請站指出錯誤,謝謝!

access_token自己緩衝下,你用了一個過時的

明明expiredate是7200秒,但是沒到2小時accesstoken就到期了,有什麼辦法去判斷accesstoken到期呢

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.