新浪微博 oauth2.0 redirect_uri_mismatch


新浪微博開放平台出來很久了,現在才開始研究,貌似有點晚了。。。。

第一次折騰,總是出現這樣那樣的問題,即使照着別人成功的例子也是一樣,這不,開始運行的時候,運行下面的例子,總是報error:redirect_uri_mismatch

import sys
import weibo
import webbrowser

APP_KEY = ''
MY_APP_SECRET = ''
REDIRECT_URL = 'https://api.weibo.com/oauth2/default.html'

api = weibo.APIClient(app_key=APP_KEY,app_secret=MY_APP_SECRET,redirect_uri=REDIRECT_URL)
authorize_url = api.get_authorize_url()
print authorize_url
webbrowser.open_new(authorize_url)

按照別人說的,去應用--高級信息--OAuth2.0 授權設置,把取消授權回調頁設為"https://api.weibo.com/oauth2/default.html",繼續運行還是報同樣的錯。。繼續查資料,發現對於站內應用而言,還要修改應用實際地址,簡單的改法就是把回調地址和應用實際地址設為同一個,即應用實際地址,再運行,果然成功認證了。

 

登陸授權后會調轉到一個連接https://api.weibo.com/oauth2/default.html?code=beed54efcd7a079120b35941402af8f4

關鍵就是code值,這個是認證的關鍵。手動輸入code值模擬認證

after_redirect_url = "https://api.weibo.com/oauth2/default.html?code=beed54efcd7a079120b35941402af8f4"
code = after_redirect_url.split("=")[1]
request = api.request_access_token(code, REDIRECT_URL)
access_token = request.access_token
expires_in = request.expires_in
api.set_access_token(access_token, expires_in)
api.statuses.update.post(status=u'Test')

access_token就是獲得的token,expires_in是授權的過期時間 (UNIX時間)

用set_access_token保存授權。往下就可以調用微博接口了。測試發了一條微博“Test”,可以登錄自己的微博去查看是否發送成功。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM