【tweepy】Twitter API:Twitter Developersに登録[Python]

  • URLをコピーしました!
目次

Twitter API

最近、3PySciの集客の一つとして、Twitterを頑張っている私。

そんな時、ふと思ったのが、TwitterをもしPythonから制御できたら、色々な便利ツールが作れるし、勉強になっていいのではないかということ。

そう思い立ったら、やってみなければ気が済まない!

そう思い立って色々と勉強し始めたところ、どうやらTwitterを制御するには、Twitter APIなるものを使用する必要があるとのことでした。

APIというのはApplication Programming Interfaceというのが正式名称で、Twitterを外部から制御するためのインターフェースのことらしいです。

もう少し詳しくいうと、Twitterのメインプログラム自体はTwitter社しかいじることができない。

するとアプリケーション開発者は、Twitterに関わるアプリケーションを作ることができない。

もしくはものすごく煩雑なプログラムを書かなければいけなくなる。

そこでTwitter社が許可する範囲内でTwitterを制御するためのプログラムをTwitter社が提供している。

それによりアプリケーション開発者は気軽にアプリケーションを開発でき、Twitterをより活発にすることができる。

それがTwitter APIということらしいです。

API自体はTwitterだけに限ったものではなく、Instagramにだって、Google mapにだってあります。

ということはTwitter APIでAPIの制御方法を学ぶことができれば、他のAPIが提供されているサービスに関してもとっつきやすくなるということが考えられます。

これはかなり有益な勉強になりそうなので、さっそく試していこうと思い立ったわけです。

ということで今回はTwitter APIの取得方法を解説していきます。

Twitter Developerアカウント

まずTwitter Developersに登録を行います。

Twitter Developersのページにアクセスしたら、右上に自分のTwitterアイコンが表示されているか確認してください。

もし表示されていなかったら、ログインします。

ログインしたら、「Apply」をクリックします。

「Apply for a developer account」をクリックします。

最初はTwitter APIで何をしたいのか、大まかな理由を聞かれます。

今回は個人としてTwitterの便利ツールを作りたいので、「Hobbyist」の「Building tools for Twitter users」を選択しました。

次に使用するTwitterアカウントの確認をされます。

質問は3点あり、「What country do you live in?(どこの国に住んでいますか?)」と「What would you like us to call you?(あなたのことをなんて呼んで欲しいですか?)」ということを聞かれますので、正直に答えます。

また最後に「Want updates about the Twitter API?(Twitter APIに関するアップデート情報が必要ですか?)」も聞かれますので、必要ならチェックボックスにチェックを入れます。

入力したら、右下の「Next」をクリックします。

次のページではTwitter APIを使って何をするのか、詳細に聞かれます。

ここからの質問は”英語”で答える必要があるので、英語が苦手な方はGoogle翻訳などを使って準備しておきましょう。

最初は「How will you use the Twitter API or Twitter data?(Twitter APIやTwitterのデータをどのように使う予定ですか?)」です。

私の答えは「I would like to make a tool that make a list of users who give favorite or retweet to one account within a certain time (like one day), then make a ranking by number of favorite or retweet, and tweet thanks message to them.」としました。

つまり「私はあるアカウントで、ある期間(例えば1日)においていいねやリツイートをしたユーザーのリストを作り、いいねやリツイートの数からランキングを作り、それらのユーザーに対して感謝のツイートをするツールを作りたい」ということです。

これは本当にそう思っていたのですが、後々調べてみるといいねをしたユーザーを取得するのはできない(少なくとも個人レベルでは?)ようなのですが、とりあえずやりたいことをできる限り詳細に書く方が良いと思います。

次は「Are you planning to analyze Twitter data?(Twitterのデータを分析する予定ですか?)」です。

私は「Count number of favorite and retweet against tweets from one user within a certain time, and them make a ranking.(あるユーザーのある期間のツイートに対して、いいねとリツイートの数を数えて、ランキングを作ります)」としました。

次は「Will your app use Tweet, Retweet, like, follow, or Direct Message functionality?(あなたのアプリケーションはツイートやリツイート、いいね、フォロー、ダイレクトメッセージを使いますか?)」です。

回答は「After making a ranking of users who give favorite or retweet, tweet thanks message including the ranked user’s account name.(いいねやリツイートしたユーザーのランキングを作成したのち、ランクインしたユーザーのアカウントネームを含んだ感謝のメッセージをツイートします)」としました。

次は「Do you plan to display Tweets or aggregate data about Twitter content outside of Twitter?(Twitter外でツイートや集計したデータを表示する予定ですか?)」です。

回答は「Display a ranking of users who give favorite or retweet against tweets of one user a on a website before tweet for checking the message.(ツイートする前にメッセージを確認するためにあるウェブサイトにいいねやリツイートしたユーザーのランキングを表示させます。)」としました。

次で最後です。

最後は「Will your product, service or analysis make Twitter content or derived information available to a government entity?(あなたの製品やサービス、分析によるTwitterのコンテンツやそれに由来する情報は政府機関に提供されるものですか?)」。

これは政府機関に情報を提供する予定はないので、ボタンを「No」にしました。

すると記入欄が無くなるため、特に文章を書く必要はありませんでした。

ここまで記入が終わったら、右下の「Next」をクリックします。

次の画面では入力した情報を確認します。

問題なければ「Looks good!」をクリックします。

同意書が表示されますので、読んで問題なければ一番最後のチェックボックスにチェックを入れ、「Submit Application」をクリックします。

「You did it!!」 が表示されれば、申請が完了です。

メールアドレスの確認のため、申請したメールアドレスにメールが送られてきますので、メールボックスを確認します。

届いたメールはこんな感じです。

「Confirm your email」をクリックすることで、メールアドレスの確認が行われます。

私の場合は、特に質問のメールが来ることもなく、すぐにアプリケーションの名前を入力する画面になりました。

「App name」に自分のアプリケーションの名前を入力し、「Get keys」をクリックします。

すると「API key」、「API secret key」、「Bearer token」が発行されますので、それぞれコピーしてどこかに保存しておきましょう。

これでTwitter Developersのアカウントへの登録は完了です。

権限の変更とAccess token、Access token secretの取得

API keyは発行されましたが、他にも必要な情報を取得します。

他に必要な情報としては「Access token」と「Access token secret」があります。

(それぞれがどんな役割をしているかは私自身分かっていないので、そのうちに勉強したいと思います)

再度Twitter Developersにアクセスします。

アクセスしたら、先ほど「Apply」だったところが「Developer Portal」に変わっているはずなので、「Developer Portal」をクリックします。

すると自分のTwitter Developerアカウントが開きます。

ここからまずは使用する権限の変更を行い、その後「Access token」と「Access token secret」を取得します。

「PROJECT APP」に先ほど登録したアプリケーション名が表示されているはずなので、その右側にある歯車マークをクリックします。

するとPROJECTページにいきますので、下の方へ移動します。

「App permissions」を確認し、「Read Only」になっている場合は「Edit」をクリックします。

「Edit app permissions」で「Read and Write」に変更します。

「Read」はタイムラインやプロフィール情報の取得だけ、

「Read + Write」はReadに加えてツイートやいいね、リツイートなどができる、

「Read + Write + Direct Message」は「Read + Write」に加えて、ダイレクトメッセージの送信ができます。

通常は「Read + Write」でいいかと思います。

変更が終わったら、「Save」をクリックします。

そして戻ったページで「Key and tokens」をクリックします。

「API key & secret」は先ほど取得したキーです。

その他に「Access token & secret」が下の方にありますので「Regenerate」(初めての人は「Generate」かもしれません)をクリックすると。「Access token」と「Access token secret」が表示されますので、コピーしてどこかに保存しておいてください。

これでPythonでTwitterを制御するためのTwitter側の準備は終わりました。

次回はPython側の準備をして、プログラミングしていきたいと思います。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次