Android上獲取Pocket Oauth授權說明

https://getpocket.com/developer/docs/authentication
上面的鏈接是官方文檔,寫的很詳細了,這里做下簡要記錄,作為官方文檔的輔助參考。

Step 1 獲取consumer key

通過http://getpocket.com/developer/apps/new 創(chuàng)建一個應用,獲取consumer key。比如:1234-abcd1234abcd1234abcd1234

Step 2 獲取request token

通過post請求,獲取request token,請求的content type可以是x-www-form-urlencoded或者json,參考官網(wǎng)示例。
Method URL:
https://getpocket.com/v3/oauth/request

參數(shù) 類型 說明
consumer_key String 第一步時拿到的
redirect_uri String 第四步時需要用到,為"pocketapp"+consumer key開頭部分數(shù)字"+":authorizationFinished",比如你的consumer key是1234-abcd1234abcd1234abcd1234,這里可以填pocketapp1234:authorizationFinished
state String 上面兩個參數(shù)是必填,這個是可選參數(shù),如果填了,在后續(xù)的授權中都會返回這個字符串,即作為meta data使用,沒需求可不填

請求成功后會返回request token。貼個官方的示例:

image.png

上面的code就是request token。

Step 3 引導用戶到pocket 網(wǎng)頁上授權

可以使用自帶瀏覽器(Intent方式)或者Webview打開下面的地址,讓用戶授權。
https://getpocket.com/auth/authorize?request_token=YOUR_REQUEST_TOKEN&redirect_uri=YOUR_REDIRECT_URI
這里的request_token是在Step 2時拿到的code。

Step 4 獲取授權成功的通知

授權成功后,用戶點擊頁面上的返回應用程序,瀏覽器會打開你之前填的redirect_uri,如:pocketapp1234:authorizationFinished。為了響應這個操作,你用于管理授權的Activity需要注冊對應的Intent Filter,如下是一個示例:

<intent-filter>
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <category android:name="android.intent.category.BROWSABLE" />
     <data android:scheme="pocketapp1234" />
</intent-filter>

android:scheme要改成你自己的。

Step 5 獲取 access token

現(xiàn)在你可以使用step 1時拿到的consumer key和step 2時拿到的request token 去得到access token。Access token是真正用來獲取用戶資源的token。通過post請求,并帶上consumer_key和code參數(shù)獲取access token
Method URL:
https://getpocket.com/v3/oauth/authorize

參數(shù) 類型 說明
consumer_key String Step 1時拿到的
code String Step 2時拿到的request token

附上官方的示例:

image.png

Step 6 獲取資源

拿到access token后,就可以使用下面的接口,獲取用戶的資源了。
Add
Modify
Retrieve

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容