今回は、TwitterAPI操作用のPythonライブラリ「tweepy」を紹介する記事。
利用までに必要な登録・設定の流れと、簡単な操作方法を紹介していきます。
tweepyはTwitterの自動化には欠かせないライブラリです。
なので今回はTwitter botなどに興味がある人にオススメの内容となっています。
それでは行きましょう。
Twitter APIに関する参考動画
今回の記事は、次のUdemy教材を参考にしています。
こちらの動画教材は、「APIとは何か?」から始まり、楽天商品検索などのさまざまなサービスのAPI使用方法を解説してくれています。
解説が丁寧で分かりやすいのはもちろんですが、個人的には講師の「今西航平さん」の活舌の良さからくる「講義のテンポ」が最高でした。
ちなみに今西さんは「いまにゅのプログラミング塾」というYouTubeチャンネルをやられています。
Twitterアカウントを登録
当たり前ですが、まずはtwitterアカウント作成が必要です。
まだアカウントを持っていない人は、以下の記事を参考にして作っておきましょう。
Twitter Developersの登録
続いて、TwitterAPIを使用するために「Twitter Developers」の開発者アカウント登録が必要です。
ちなみにAPIとはApplication Programming Interfaceの略。
他社が提供しているサービスの情報・機能を外部から扱えるようにする仕組みを指します。
今回の場合だと、Twitterの機能を外から利用するためのルールやコマンドのことだと思えばいいです。
このTwitter Developersへの登録が結構だるいです。以下の記事の説明がとても丁寧なので参考に。
Twitter APIを利用するためのデベロッパー申請から、APIキー、トークン取得方法を詳しく解説します。…
ただ一年以上前の記事なので、見た目・操作が変わっているところもあると思います。(実際にちょっと違った。)
僕も検索しながらでいけたので、分からないところは調べながら進めてください。
※登録の最後にKeyとTokenを取得しますが、次に行う設定のあとに再発行する必要が出てくるので、メモする必要はないです。
API利用範囲の権限を広げる設定
最後にTwitter Developers上で、少しだけ設定の変更が必要です。
登録時点でのデフォルト設定では、TwitterAPI利用で「読み取りのみ」しかできないようになっています。
つまりツイート内容を取得することができても、自分でツイートすることができないのです。
今後のことも考えて、権限を広げる設定を行っていきます。
やることは、次の二つ。
- 権限拡大の設定
- API Key / Access Tokenの再発行(Regenerate)
権限拡大の設定
Developer Portalに入ったら、左のProjects & Appsタブの中に「登録したアプリ名」があるのでそれを選択。
画面をスクロールすると一番下にUser authentication settingsという欄があるので「Edit」をクリック。
「OAuth1.0a」をオンにして、設定を「Read」から「Read and Write and Direct message」に変更。
※確かここで、URLの入力を求められます。僕は自分のブログのURLを入れました。
API Key / Access Tokenの再発行(Regenerate)
設定を変更したら、API KeyとAccess Tokenの再発行(Regenerate)が必要です。
「Projects & Apps」→「登録したアプリ名」→「Keys and tokens」と進んでください。
そこで「API Key and Secret」と「Access Token and Secret」のRegenerateをクリックしてください。
ここで得られた
- API Key
- API Key Secret
- Access Token
- Access Token Secret
の4つの情報を必ずコピペして残しておきましょう。
ちなみにこの4つの情報は、絶対に人に知られてはいけません。
もし何かの手違いで公開してしまった場合は、Regenerateしてください。
Tweepyを使ってみる
それではいよいよ、tweepyを使っていきましょう。
まずはtweepyをインストール。次のコマンドを実行してください。
#command line 上なら
pip install tweepy
#jupyter notebook 上なら
!pip install tweepy
インストールできたらコードを書いていきましょう。今回は「指定した文字列をツイートする」メソッドを使っていきます。
まずは全体のコード。
import tweepy
API_KEY = "XXXXXXXXXXXXXXXXX"
API_SECRET = "XXXXXXXXXXXXXXXX"
ACCESS_TOKEN = "XXXXXXXXXXXXXXXX"
ACCESS_SECRET = "XXXXXXXXXXXXXXXXX"
#API使用認証
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
#Twitterアカウント認証
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
#APIインスタンス生成
api = tweepy.API(auth)
#ツイートするメソッド実行
api.update_status("tweepyつかってみたお")
この部分には、前項で取得した4つの情報を入れましょう。
API_KEY = "XXXXXXXXXXXXXXXXX"
API_SECRET = "XXXXXXXXXXXXXXXX"
ACCESS_TOKEN = "XXXXXXXXXXXXXXXX"
ACCESS_SECRET = "XXXXXXXXXXXXXXXXX"
こちらはtweepyを利用する際のおまじない。コピペでOK。
#API使用認証
auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
#Twitterアカウント認証
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
詳しく知りたい場合はtweepyのドキュメント参照。
「ツイート」する以外のメソッドもここから探せます。
API使用の認証と、どのTwitterアカウントを操作するかの認証。(違ったらすみません。)
apiインスタンスの生成と、update_statusメソッドで指定した文字列をツイート。
#APIインスタンス生成
api = tweepy.API(auth)
#ツイートするメソッド実行
api.update_status("tweepyつかってみたお")
以上です。