web-dev-qa-db-ja.com

Twitter \ OAuth2 \ Pythonを使い始める

私はpythonを使用してTwitterに接続しようとしていますが、本当にイライラしています。
私が読んだすべてが、コンシューマキー、コンシューマシークレット、アクセスキー、およびアクセスシークレットが必要であることを示唆しています-例: sing python OAUTH2 to access = OAUTH保護されたリソース

作成した小さなテストアプリのTwitter設定ページからコンシューマキーとコンシューマシークレットを取得できますが、他の2つはどうなりますか?少しググった後で、誰もがあなたがこの情報をどこから得るかは明らかであると思うので、置く価値はないので、私は本当に馬鹿げた瞬間を持っているかもしれませんが、誰かが私のような馬鹿のためにそれを綴ってくれませんか?

編集:
OKをクリックしてこれらの詳細を取得し、Twitterでアプリの設定を開いて"My Access Token"リンク。
アクセストークンを探すときに、「マイアクセストークン」というタイトルのリンクをクリックすると役立つ場合があると思います。私の愚かさはワインに帰した​​いのですが、本当にわかりません...

31
Sean

ほぼすべてのoauthブログの例は、oauthの承認フェーズの例であるように思われ、一度にこれらを取得したら、実際にリクエストを行う方法に焦点を当てたものはありませんこの部分がどのように機能するかを理解していることは明らかです。

スクリプトまたはアプリから自分のTwitterアカウントにアクセスしようとしているだけの場合は、アクセストークンを取得できます(python oauthライブラリではキーと呼ばれます)アプリの設定ページの下部にある dev.Twitter.com という見出しの下のシークレットアクセストークン

import oauth2 as oauth
import json

CONSUMER_KEY = "your app's consumer key"
CONSUMER_SECRET = "your app's consumer secret"
ACCESS_KEY = "your access token"
ACCESS_SECRET = "your access token secret"

consumer = oauth.Consumer(key=CONSUMER_KEY, secret=CONSUMER_SECRET)
access_token = oauth.Token(key=ACCESS_KEY, secret=ACCESS_SECRET)
client = oauth.Client(consumer, access_token)

timeline_endpoint = "https://api.Twitter.com/1.1/statuses/home_timeline.json"
response, data = client.request(timeline_endpoint)

tweets = json.loads(data)
for Tweet in tweets:
    print Tweet['text']

この例では、python lib python-oauth2 を使用しています。これは、残念ながら、OAuthライブラリであり、OAuth2ライブラリではありません。

他の人に自分のアカウントがアプリで使用されることを実際に許可する場合は、リダイレクトダンスを実装して、Twitterにリクエストトークンとシークレットのペアを要求し、このリクエストトークンを使用してユーザーをTwitter承認ページにリダイレクトする必要があります。 、彼らはサインインしてトークンを承認し、アプリケーションにリダイレクトされます。その後、リクエストトークンをアクセストークンとシークレットペアに交換します。これらを保存して、上記のようなリクエストを行うために使用できます。

Twitter Three-legged OAuth http://github.com/simplegeo/python-oauth2 のReadmeの例は、何をする必要があるかをカバーしているようです

101
pkqk