Twitter APIを使ってPythonからツイートする

Twitter APIを利用するとPythonからツイートしたり、ツイートの一覧を取得したりすることができます。

まずTwitterにサインインしてから次のURLにアクセスします。

Twitterアプリケーション - https://apps.twitter.com/


手順1 アプリケーション登録

Twitter APIを利用するためにはアプリケーションを登録する必要があります。

ブラウザ右上の「Create an app」をクリックします。

アプリケーション作成


アプリケーション情報を登録します。 入力が必須なのは次の4項目です。

①App Name
 アプリケーション名です。ほかのアプリケーション名と被らないように一意にする必要があります。
②Application description
 アプリケーションの説明です。
③URL
 自分のサイトがあればそのURLを入力します。なければ存在しないURLでも問題ありません。
④Tell us how this app will be used
 Twitter関係者へアプリケーションをどのような用途で使うのかを説明するようです。適当でかまいません

アプリケーション登録1

アプリケーション登録2


上記画面で「Create」ボタンを押すと、アプリケーション登録前に開発関連のポリシーへの同意画面が表示されます。

問題なければ「Create」ボタンを押します。

アプリケーション登録確認ダイアログ


手順2 アプリケーション情報確認

アプリケーションが問題なく登録されると下記のようなページに移動します。


登録されたアプリケーション


「Kyes and tokens」をクリックします。

ここではTwitter APIを実行するときに必要なアクセスキーとトークン情報を確認することができます。


アクセスキーとトークン情報


Twitter APIを実行する際に必要な情報は次の4つです。

  • API key
  • API secret key
  • Access token
  • Access token secret

アクセストークンに関しては「generate」または「Regenerate」をクリックすると表示されます。


手順3 Twitterライブラリをインストール

コンソールから次のコマンドを実行し、Twitterライブラリをインストールします。

1
pip install python-twitter

手順4 Pythonからツイート

Pythonで次のコードを実行します。

1
2
3
4
5
6
7
8
9
import twitter

api = twitter.Api(
consumer_key='######',
consumer_secret='######',
access_token_key='######',
access_token_secret='######')

api.PostUpdate('投稿テスト1')

パラメータにはアプリケーション情報から対応したキー情報を設定します。

  • consumer_key
    「API key」を設定
  • consumer_secret
    「API secret key」を設定
  • access_token_key
    「Access token」を設定
  • access_token_secret
    「Access token secret」を設定

実行が成功すると下記のようにTwitterに反映されます。

ツイート結果


手順5 ツイート一覧取得

Twitter APIを使うとツイートだけではなく、ツイート一覧を取得することもできます。

「screen_name」にはツイート一覧を取得するTwitterユーザ名を設定してください。

1
2
3
4
5
6
7
8
9
10
11
import twitter

api = twitter.Api(
consumer_key='######',
consumer_secret='######',
access_token_key='######',
access_token_secret='######')

status = api.GetUserTimeline(screen_name='aiblog1')
for s in status:
print(s.text)

デフォルトで一度に取得できるツイート数は200個です。


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×