新浪微博開放平台提供了豐富的API接口,利用這些接口,開發者能夠開發出獨具特色的微博應用。但是,大部分接口都需要用戶授權給應用,應用利用授權得到的Access Token來調用相應的接口來獲取內容。
新浪微博的授權機制目前主要有3種應用場景:
- Web應用
- 移動應用
- 站內應用
本文主要介紹Web應用如何授權、獲取Access Token。
步驟一:添加網站
進入新浪微博開放平台,點擊”我的應用”,選擇“網頁應用”,填寫相應的信息后提交。(基本信息,身份驗證)
步驟二:Oauth2.0授權設置
應用創建完后可以在“我的應用”中查看信息,在“應用信息”--“高級信息”中可以設置網站的授權回調頁和取消授權回調頁。
授權回調頁非常重要,一定要填寫正確,當用戶授權成功后會回調到此頁面,傳回一個“code”參數,開發者可以用code換取Access Token值。
步驟三:引導用戶授權
引導需要授權的用戶到如下頁面:
https://api.weibo.com/oauth2/authorize?client_id=YOUR_CLIENT_ID&response_type=code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
YOUR_CLIENT_ID:即應用的AppKey,可以在應用基本信息里查看到。
YOUR_REGISTERED_REDIRECT_URI:即之前填寫的授權回調頁,注意一定要完全相同。
如果用戶授權成功后,會跳轉到回調頁,開發者此時需要得到url參數中的code值,注意code只能使用一次。
步驟四:換取Access Token
開發者可以訪問如下頁面得到Access Token:
https://api.weibo.com/oauth2/access_token?client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&grant_type=authorization_code&redirect_uri=YOUR_REGISTERED_REDIRECT_URI&code=CODE
這些參數就不一一介紹了。
如果都沒有問題,就可以得到Access Token了,返回示例:
{ "access_token": "ACCESS_TOKEN", "expires_in": 1234, "remind_in":"798114", "uid":"12341234" }
步驟五:調用API
獲取到Access Token后,開發者可以保存它的值,調用API的時候直接用就可以了。Access Token有一定的有效期,過期后需要重新授權。
1 import requests 2 3 url='https://api.weibo.com/2/comments/create.json' 4 5 data={ 6 'access_token':'2.00aH15VHvakaFC3357cf68e9i144OC', 7 'comment':'你好', 8 'id':'4350597576707582' 9 } 10 infomation=requests.post(url=url,data=data,verify=False).text 11 print(infomation)
要評論的微博id
參考:https://www.cnblogs.com/e241138/archive/2013/03/15/sina-weibo-oauth-access_token.html