Pocket API + Python 學習筆記

原先我只了解evernote可以離線閱讀文章,但evernote對於多裝置(免費用戶)實在是不方便。

直到有天,我在知乎看到大神都是怎麼收藏好文章的。

圖(待捕)

於是我開始使用了Pocket。慢慢的先從Chrome的擴充功能每個URL保存到Pocket,然後手機應用也同步了,用到後來我希望將imgur及自己經常訂閱Rss也能同步到Pocket。

因此看了Pocket API認為可行,以下是自己使用Pocket API加上Python的過程。

Pocket API官方文檔

申請Pocket API

下面我使用postman工具操作Post請求

1. 建立pocket app 取得CONSUMER KEY

NewApp URL:
https://getpocket.com/developer/apps/new

建立一個新的APP

Pocket API + Python 學習筆記_第1张图片

完成後會得到"CONSUMER KEY"

Pocket API + Python 學習筆記_第2张图片

CONSUMER KEY為74297-3a202d306550d2de94dce8b3

2. oauth 取得code

根據官網提示需要用POST請求提交取得code

Method URL:
https://getpocket.com/v3/oauth/request

# 範例
consumer_key=
redirect_uri=:authorizationFinished

我的資訊
consumer_key=74297-3a202d306550d2de94dce8b3
redirect_uri=MarioPocket3:authorizationFinished

在POST請求之後會得到code

code=a916cd07-8306-86ea-b213-1f6af0
Pocket API + Python 學習筆記_第3张图片
image

3. 激活授權

進入以下網址取得授權

https://getpocket.com/auth/authorize?request_token=a916cd07-8306-86ea-b213-1f6af0&redirect_uri=MarioPocket3:authorizationFinished

# 網址參數對應:
request_token=a916cd07-8306-86ea-b213-1f6af0(剛剛的code)
redirect_uri=MarioPocket3:authorizationFinished
Pocket API + Python 學習筆記_第4张图片

4. 取得access_token

根據官網提示需要用POST請求提交取得access_token

Method URL:
https://getpocket.com/v3/oauth/authorize

我的資訊
consumer_key=74297-3a202d306550d2de94dce8b3
code=a916cd07-8306-86ea-b213-1f6af0
Pocket API + Python 學習筆記_第5张图片
access_token=cc2b9561-999a-1261-d58e-63c3d2&username=noyoung.guo%40gmail.com

能夠正常取得access_token就算是完成了,接下來試著新增URL看看...

正式使用Pocket API

利用Pocket API 新增URL

Pocket API add文檔

Method URL:
https://getpocket.com/v3/add

url=https://getpocket.com/developer/docs/v3/add
consumer_key=74297-3a202d306550d2de94dce8b3
access_token=cc2b9561-999a-1261-d58e-63c3d2&username=noyoung.guo%40gmail.com

成功!!

Pocket API + Python 學習筆記_第6张图片
image

測試新增沒問題,開始使用python看看。

Python

環境

python 3.6.2
requests

新增

import requests


def add(url, tags=None):
    payload = {'consumer_key': '74312-5815e4d014e7e0e046c7cc85',
               'access_token': '7acb01d7-f791-5e24-c663-632499',
               'url': url,
               'tags': tags}
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}
    r = requests.post('https://getpocket.com/v3/add', data=payload, headers=headers)
    print(r.json()['item']['title'])

# 測試加入一個文章urlhttps://finance.technews.tw/2018/01/23/lg-innotek-2017-q4/
add("https://finance.technews.tw/2018/01/23/lg-innotek-2017-q4/",tags="ITnews")

剛剛新增的已經加進來囉

Pocket API + Python 學習筆記_第7张图片
image

參考

  • Python で Pocket の API を叩く方法
  • pocket API 学习笔记

你可能感兴趣的:(Pocket API + Python 學習筆記)