免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
豆瓣 API OAuth認證

豆瓣 API OAuth認證

本文檔提供豆瓣API OAuth認證的相關信息,如果你的應用需要訪問或修改受保護的用戶數(shù)據,請詳細閱讀本文檔。

為了保護豆瓣用戶的數(shù)據,當?shù)谌綉眯枰ㄟ^API訪問或修改受保護的用戶數(shù)據(例如增刪用戶收藏)時,需要通過OAuth認證機制來獲得用戶的授權。

為了方便開發(fā)人員進行豆瓣 OAuth認證,我們在豆瓣OAuth認證示例項目中提供了常見語言環(huán)境下進行豆瓣 OAuth認證的示例代碼。如果你使用或參考示例項目中的代碼,而你對OAuth一無所知,那么你需要閱讀我們在下面提供的認證及訪問資源流程這部分內容。它可以幫助你理解OAuth的認證流程,這對于理解示例項目中的代碼是必須的。同時你也需要閱讀常見問題部分。

如果你不打算參考我們提供的示例代碼,或者你所使用的語言不在我們提供的示例代碼中。那么在開始嘗試進行OAuth認證之前,你通常必須閱讀整個OAuth規(guī)范。

無論你是何種開發(fā)人員——比如你也許已經是OAuth專家,我們都建議你閱讀常見問題部分,以避免不必要的麻煩。

如果你發(fā)現(xiàn)本文檔的某些部分難以理解,建議你閱讀OAuth規(guī)范以獲取更多信息。

另外一些可能有用的資源:

  1. 關于豆瓣API Key的更多信息請點擊這里
  2. 中文翻譯的OAuth文檔可以在這里找到
  3. Google-OAuth項目提供各種語言的OAuth庫

目錄

認證流程及訪問資源流程

豆瓣API通過以下四個步驟來完成認證授權并訪問或修改受限資源的流程

  1. 獲取未授權的Request Token
  2. 請求用戶授權Request Token
  3. 使用授權后的Request Token換取Access Token
  4. 使用 Access Token 訪問或修改受保護資源

獲取未授權的Request Token

通過訪問以下 URL 獲取未授權的 Request Token

http://www.douban.com/service/auth/request_token

包含的主要參數(shù)

參數(shù)意義
oauth_consumer_keyAPI Key
oauth_signature_method簽名方法,建議使用HMAC-SHA1
oauth_signature簽名值
oauth_timestamp時間戳
oauth_nonce單次值,隨機字符串,防止重放攻擊

本步驟用于簽名的secret是API Key Secret

返回值包括未授權的Request Token和對應的Request Token Secret

請求用戶授權Request Token

獲得Request Token之后,需要請求用戶授權該Request Token

你需要將瀏覽器跳轉到如下URL(如果無法自動跳轉,則需要提示用戶手工跳轉)。這會是一個豆瓣上的頁面,提示用戶授權給你的應用,以允許你的應用訪問該用戶在豆瓣上的信息

http://www.douban.com/service/auth/authorize

跳轉后用戶會看到請求授權的頁面,用戶可以選擇同意或者拒絕授權

該請求包含如下兩個參數(shù)

參數(shù)意義
oauth_token上一步中獲得的Request Token
oauth_callback(可選)如果包含這個參數(shù),認證成功后瀏覽器會被重定向到形如http://callback?oauth_token=ab3cd9j4ks73hf7g的url,其中oauth_token為Request Token
否則需要用戶手工通知第三方應用以完成授權

使用授權后的Request Token換取Access Token

用戶完成授權后,第三方應用可以通過訪問如下url,將已授權的Request Token換取Access Token。Access Token將被用于訪問或修改受限資源

http://www.douban.com/service/auth/access_token

包含的主要參數(shù)

參數(shù)意義
oauth_consumer_keyAPI Key
oauth_token第一步中獲得的Request Token
oauth_signature_method簽名方法
oauth_signature簽名值
oauth_timestamp時間戳
oauth_nonce單次值

本步驟用于簽名的secret和token secret分別為,API Key Secret和Request Token Secret

返回值包括授權的Access Token,對應的Access Token Secret

使用Access Token訪問或修改受保護資源

獲得Access Token之后,你的應用就可以使用該Access Token訪問或修改受保護的資源

在每次操作受保護資源時,請求都必須包含以下參數(shù)

參數(shù)意義
oauth_consumer_keyAPI Key
oauth_tokenAccess Token
oauth_signature_method簽名方法
oauth_signature簽名值
oauth_timestamp時間戳
oauth_nonce單次值

本步驟用于簽名的secret和token secret分別為,API Key Secret和Access Token Secret

常見問題

關于用于簽名的Secret

在第一步獲取Request Token時,需要使用API Key和API Key Secret進行簽名。對應到OAuth規(guī)范中,API Key對應Consumer Key,API Key Secret對應Consumer Key Secret。該步不需要使用Token和Token Secret——設為空字符串即可。

在第三步換取Access Token時,需要使用API Key、API Key Secret、Request Token和Request Token Secret進行簽名。其中API Key和API Key Secret的對應不變。而Request Token和Request Token Secret對應簽名中的Token和Token Secret

而在第四步訪問修改受限資源時,需要使用API Key、API Key Secret、Access Token和Access Token Secret進行簽名。

請注意區(qū)分三次簽名中用到的Key、Token和Secret,這是簽名不匹配的一個常見原因。

關于用戶簽名的url

簽名時需要用到將要訪問的url。例如:

    http://api.douban.com/people/sakinijino/collection

豆瓣OAuth認證,要求對這個url進行轉義再計算簽名,例如:

    http://api.douban.com/people/@me

需要被轉義為

    http://api.douban.com/people/%40me

再計算簽名。某些OAuth庫默認不對url進行轉義,你需要在傳入url之前手工進行轉義。這是簽名不匹配的另一個原因。

關于在修改刪除受限資源時傳遞OAuth參數(shù)

OAuth規(guī)范定義了三種傳遞OAuth參數(shù)方式

  1. header中
  2. url中
  3. post form中

然而進行POST、PUT、DELETE請求時,豆瓣暫時不支持使用在url中或者post form中傳遞OAuth參數(shù)。因此你只能選擇在header中傳遞OAuth參數(shù)。格式如下:

Authorization: OAuth realm="http://sp.example.com/",    oauth_consumer_key="0685bd9184jfhq22",    oauth_token="ad180jjd733klru7",    oauth_signature_method="HMAC-SHA1",    oauth_signature="wOJIO9A2W5mFwDgiDvZbTSMK%2FPY%3D",    oauth_timestamp="137131200",    oauth_nonce="4572616e48616d6d65724c61686176",    oauth_version="1.0"

如果你發(fā)現(xiàn)豆瓣提示你沒有傳遞OAuth參數(shù)(no auth錯誤),那么請檢查一下你是否在POST、PUT、DELETE請求中使用了url或post form傳遞OAuth參數(shù)。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Android學習筆記
OAuth 2.0安全案例回顧
這個好玩!用Python識別花卉種類,并自動整理分類!
太牛逼了!用 Python 實現(xiàn)抖音上的“人像動漫化”特效,原來這么簡單!
百度網盤上傳腳本bpcs_uploader
[Python]web.py連接新浪微博
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服