OAuth2.0學習(1-11)新浪開放平台微博認證-使用OAuth2.0調用微博的開放API


使用OAuth2.0調用API

使用OAuth2.0調用API接口有兩種方式:

1、 直接使用參數,傳遞參數名為 access_token

URL

2、在header里傳遞,形式為在header里添加 Authorization:OAuth2空格abcd,這里的abcd假定為Access Token的值,其它接口參數正常傳遞即可。


注:所有的微博開放平台接口都部署在weibo.com域下,僅有移動端的授權接口在open.weibo.cn域。

 

授權中的其他功能

Scope

Scope是OAuth2.0新版授權頁提供的一個功能,通過scope,平台將開放更多的微博核心功能給開發者,同時也加強用戶隱私保護,提升了用戶體驗,用戶在新OAuth2.0授權頁中有權利選擇賦予應用的功能。


Scope開放的接口文檔:接口文檔

 

客戶端默認回調頁

通常Mobile Native App沒有服務器回調地址,您可以在應用控制台授權回調頁處填寫平台提供的默認回調頁,該頁面用戶不可見,僅用於獲取access token。


OAuth2.0客戶端默認回調頁:https://api.weibo.com/oauth2/default.html

 

強制登錄

授權頁會默認讀取當前用戶的微博登錄狀態,如果你想讓用戶重新登錄,請在調用authorize接口時傳入參數:forcelogin=true,默認不填寫此參數相當於forcelogin=false。

 

取消授權回調頁

開發者可以在應用控制台填寫取消授權回調頁,當用戶取消你的應用授權時,開放平台會回調你填寫的這個地址。並傳遞給你以下參數,source:應用appkey,uid :取消授權的用戶,auth_end :取消授權的時間

OAuth2.0相關資源

以下SDK包含了OAuth2.0及新版API接口

     
下載Android SDK 下載iOS SDK 下載WP7 SDK
下載PHP SDK(由SAE維護) 下載Java SDK 下載Python SDK
下載Flash SDK 下載Javascript SDK 下載C# SDK

 

移動開發SDK說明文檔

     
Android SDK 說明文檔 iOS SDK 說明文檔 WP7 SDK 說明文檔

 

其他參考資料

OAuth是一種國際通用的授權方式, OAuth2.0的官方技術說明可參看 http://oauth.net/2/


如果你仍在使用Oauth1.0,請進入瀏覽相關文檔。

 

OAuth2.0 錯誤碼

微博OAuth2.0實現中,授權服務器在接收到驗證授權請求時,會按照OAuth2.0協議對本請求的請求頭部、請求參數進行檢驗,若請求不合法或驗證未通過,授權服務器會返回相應的錯誤信息,包含以下幾個參數:

  • error: 錯誤碼
  • error_code: 錯誤的內部編號
  • error_description: 錯誤的描述信息
  • error_url: 可讀的網頁URI,帶有關於錯誤的信息,用於為終端用戶提供與錯誤有關的額外信息。


錯誤信息的返回方式有兩種:

1. 當請求授權Endpoint:https://api.weibo.com/2/oauth2/authorize 時出現錯誤,返回方式是:跳轉到redirect_uri,並在uri 的query parameter中附帶錯誤的描述信息。

2. 當請求access token endpoing:https://api.weibo.com/oauth2/access_token 時出現錯誤,返回方式:返回JSON文本。例如:

 

JSON
1
2
3
4
5
{
     "error" "unsupported_response_type" ,
     "error_code" : 21329,
     "error_description" "不支持的ResponseType."
}


OAuth2.0錯誤響應中的錯誤碼定義如下表所示:

 

錯誤碼(error) 錯誤編號(error_code) 錯誤描述(error_description)
redirect_uri_mismatch 21322 重定向地址不匹配
invalid_request 21323 請求不合法
invalid_client 21324 client_id或client_secret參數無效
invalid_grant 21325 提供的Access Grant是無效的、過期的或已撤銷的
unauthorized_client 21326 客戶端沒有權限
expired_token 21327 token過期
unsupported_grant_type 21328 不支持的 GrantType
unsupported_response_type 21329 不支持的 ResponseType
access_denied 21330 用戶或授權服務器拒絕授予數據訪問權限
temporarily_unavailable 21331 服務暫時無法訪問
appkey permission denied 21337 應用權限不足


OAuth2.0相關問題,查看 OAuth2.0相關問題

 


免責聲明!

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



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