GitHubじゃ!Pythonじゃ!

GitHubからPython関係の優良リポジトリを探したかったのじゃー、でも英語は出来ないから日本語で読むのじゃー、英語社会世知辛いのじゃー

ryanmcgrath

twython – Twitter APIのための積極的に管理された純粋なPythonラッパー。 通常のTwitter APIとストリーミングTwitter ..

投稿日:

Twitter APIのための積極的に管理された純粋なPythonラッパー。 通常のTwitter APIとストリーミングTwitter APIの両方をサポートします。 http://stackoverflow.com/questions/ta…

Twython

Twythonは、Twitterデータに簡単に(そして最新の)方法でアクセスできる、優れたPythonライブラリです。 積極的に管理され、Python 2.6+およびPython 3のサポートを特徴としています。企業、教育機関、および個人によって同様のテストが行​​われました。 今すぐ試してみてください!

特徴

  • データのクエリ:
  • 画像のアップロード:
    • 画像でユーザーステータスを更新する
    • ユーザーのアバターを変更する
    • ユーザーの背景イメージを変更する
    • ユーザーのバナー画像を変更する
  • OAuth 2アプリケーションのみ(読み取り専用)のサポート
  • TwitterのストリーミングAPIのサポート
  • シームレスなPython 3のサポート!

インストール

pipで Twythonをインストールする

$ pip install twython

または、 easy_installで

$ easy_install twython

しかし、ねえ… それはあなた次第です

または、現在GitHub上にあるコードが必要な場合

git clone git://github.com/ryanmcgrath/twython.git
cd twython
python setup.py install

ドキュメンテーション

ドキュメントはhttps://twython.readthedocs.io/en/latest/で入手できます

始める

まず、 https://apps.twitter.comにアクセスしてアプリケーションを登録します。

登録後、アプリケーションの詳細タブで、 Consumer KeyConsumer Secretを取得します。

最も一般的な認証タイプは、OAuth 1を使用したTwitterユーザー認証です。ユーザーが自分のTwitterアカウントにサインアップし、タイムラインとやりとりしたり、ステータスを更新したりすることを計画しているWebアプリケーションの場合 、君は!

まず、Twythonをインポートしたい

from twython import Twython

認証

承認URLを取得する

これで、 Consumer KeyConsumer Secretを使ってTwythonインスタンスを作成することになります

アプリケーションがWebアプリケーションの場合のみ、 callback_urlget_authentication_tokensに渡します。

デスクトップとモバイルアプリケーション callback_urlを必要としません

APP_KEY = 'YOUR_APP_KEY'
APP_SECRET = 'YOUR_APP_SECRET'

twitter = Twython(APP_KEY, APP_SECRET)

auth = twitter.get_authentication_tokens(callback_url='http://mysite.com/callback')

auth変数から、後で使用するためにoauth_tokenoauth_token_secretを保存します(これらは最終的な認証トークンではありません)。 Djangoやその他のWebフレームワークでは、セッション変数に格納することができます

OAUTH_TOKEN = auth['oauth_token']
OAUTH_TOKEN_SECRET = auth['oauth_token_secret']

ユーザーを認証URLに送信します。アクセスすることで取得できます

auth['auth_url']

コールバックの処理

アプリケーションがデスクトップアプリケーションまたはモバイルアプリケーションの場合は、 oauth_verifierがPINコードになります

アプリケーションがアカウントの詳細の一部にアクセスする権限を与えた後、 get_authentication_tokens指定したコールバックURLにリダイレクトされget_authentication_tokens

あなたはurlからoauth_verifierを抽出したいと思うでしょう。

Djangoの例:

oauth_verifier = request.GET['oauth_verifier']

変数にoauth_verifier格納されたので、 oauth_verifierの新しいインスタンスを作成し、最終的なユーザトークンを取得したいと思うでしょう

twitter = Twython(APP_KEY, APP_SECRET,
                  OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

final_step = twitter.get_authorized_tokens(oauth_verifier)

最終的なユーザートークンを取得したら、後で使用できるようにデータベースに格納します。

OAUTH_TOKEN = final_step['oauth_token']
OAUTH_TOKEN_SECRET = final_step['oauth_token_secret']

OAuth 2(アプリケーションのみ、読み取り専用)認証については、Googleのドキュメントをご覧ください

動的関数の引数

関数のキーワード引数は、Twitter APIドキュメントの各エンドポイントで使用できる関数にマップされます。 こうすることで、Twitter APIを照会する際の柔軟性が非常に高くなります。したがって、このライブラリがAPIを使用している場合、APIへの変更はあなたの責任ではありません。

基本的な使用法

関数定義(つまりget_home_timeline())は、twython / endpoints.pyを読んで見つけることができます

あなたのアプリケーションキーとユーザーOAuthトークンを使ってTwythonインスタンスを作成する

from twython import Twython
twitter = Twython(APP_KEY, APP_SECRET,
                  OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

認証されたユーザーのホームタイムライン

ドキュメント: https : //developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline

twitter.get_home_timeline()

ステータスの更新

このメソッドは、動的引数を利用し、 それらについてより詳しく読む

ドキュメント: https : //developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/post-statuses-update

twitter.update_status(status='See how easy using Twython is!')

検索

https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweetsは、他の引数の中で「q」と「result_type」が必要だと言っています

twitter.search(q='twitter')
twitter.search(q='twitter', result_type='popular')

高度な使用法

ノート

  • Twython 3.0.0には1000mgの純粋なawesomenessが注入されました! OAuth 2アプリケーション認証がサポートされるようになりました。 そしてもっとたくさん 詳細はCHANGELOGを参照してください!

質問、コメントなど?

私の希望は、Twythonはとてもシンプルなので、質問する必要は全くありませんが、この(またはその他の)理由で私に連絡する必要があると感じる場合は、 ryan@venodesigns.netまで私を打つことができます。

または私が答えが忙しい場合は、 mikeh@ydekproductions.comにもpingを送信してください。

Twitterでフォローします:

助けたい?

Twythonは便利ですが、最終的にはそれを使用している人ほど役に立つだけです(10倍速い!)。 手助けをしたり、サンプルコードを書いたり、パッチを寄付したり、wiki上で物事を文書化したり、それについてつぶやきたい。 あなたの助けは常に高く評価されます!







-ryanmcgrath

執筆者: