web-dev-qa-db-ja.com

python認証付きリクエスト(access_token)

APIクエリをPythonに取得しようとしています。コマンドライン

curl --header "Authorization:access_token myToken" https://website.com/id

jSON出力を提供します。 myTokenは、全体を通じて一定のままである16進変数です。異なるIDをループして出力を分析できるように、pythonからこの呼び出しを行いたいと思います。何か案は?認証が必要になる前に、urllib2でそれを行いました。要求モジュールも調べましたが、その方法を理解できませんでした。

どうもありがとう。

50
user1895406

requests パッケージにはHTTPリクエスト用の非常に素晴らしいAPIがあり、カスタムヘッダーを追加すると次のように機能します( source:official docs ):

>>> import requests
>>> response = requests.get(
... 'https://website.com/id', headers={'Authorization': 'access_token myToken'})

外部依存関係を使用したくない場合、標準ライブラリのurllib2を使用する同じことは次のようになります( source:the missing manual ):

>>> import urllib2
>>> response = urllib2.urlopen(
... urllib2.Request('https://website.com/id', headers={'Authorization': 'access_token myToken'})
87
wosc

Githubでトークンを使用しようとすると、同じ問題が発生しました。

Python 3で機能した唯一の構文は次のとおりです。

import requests

myToken = '<token>'
myUrl = '<website>'
head = {'Authorization': 'token {}'.format(myToken)}
response = requests.get(myUrl, headers=head)
19
bloodrootfc