【Python】Twitterを操作する① -API利用申請

Twitterでは開発者用のAPIが提供されており、自動ツイートをするbotの作成やツイートの分析、DMのやりとりといったことができます。

TwitterのAPIを利用するためには、利用申請をする必要があります。今回は、その利用申請の流れを紹介していきます。

利用申請手順について、プロセスがちょこちょこ変更になっているみたいです。今回は2021年10月時点での方法です。

今回の目標

TwitterのAPIはPython等で扱うことができますが、その際にAPI Keyが必要になります。

API KeyはTwitterの開発者用サイトであるTwitter Developers Portalから取得できます。今回は、Twitter Developers Portal の利用申請からAPI Keyを取得するまでの手順を紹介します。

途中英語での入力が必要になり若干ハードルが高い気もしますが、例文も載せるので怖がりすぎず進めていきましょう。

利用申請

まずは以下のサイトにアクセスします。

https://developer.twitter.com/en/apps

https://developer.twitter.com/en/apps

画面右側のCreate an appを押します。そうすると、ここからは質問攻めです。まずは目的。今回は、真ん中のHobbyist(趣味)にしました。

Which best describes you?/Professional /Hobbyist/Academic

次は先ほど選んだ中からもう少し詳細な理由を選びます。今回はExploring the API(APIでいろいろ試したい)を選びました。

Hobbyist/Making a bot /Building tools for Twitter users/Exploring the API

基本情報を入力します。ここでは、対象のTwitterアカウントと認証済みのメールアドレスが表示されます。メールアドレスが表示されない場合は認証を済ませてください(大概は認証済みだと思いますが)

下部の記入欄には

  • ニックネーム
  • 居住国
  • 現在のコーディングスキル

を入力します。Twitter APIのニュースレターを受け取りたい場合は一番下の欄にチェックを入れます。

Basic Info

次が難関。英語でAPIや取得したデータの用途について自由記述しなければなりません。しかも200字以上で。いくつか入力欄があるので1つずつ見ていきます。

最初は基本的な用途について記入します。

How will you use the Twitter API or Twitter Data?

・To automatically tweet about articles posted from my website onto Twitter timeline.

・Planning to collect and analyze data and use it for my personal blogs.

・I plan to analyze the tweets that are popular with users that are automatically tweeted using Twitter API from my website.

難しい文章を書く必要はなく、用途が伝わるようにシンプルに書けばOKです。

以降は該当する項目について内容を記述します。

最初は “Are you planning to analyze Twitter Data?”(Twitterのデータを分析する予定はありますか?)です。該当するのでチェックし、理由を書きます。

Are you planning to analyze Twitter Data?

I want to analyze the tweets that are popular with users that are automatically tweeted using Twitter API from my website.

伝わればOK、伝われば

次は”Will your app use Tweet, Retweet, Like, Follow, or Direct Message functionality?”(作成するアプリはツイート、リツイート、いいね、フォローやDMの機能を有しますか?)です。該当するのでチェックし、理由を書きます。

Will your app use Tweet, Retweet, Like, Follow, or Direct Message functionality?

My application uses a tweet, retweet, like, follow function. Not using direct message. I plan to use tweet function mainly.

最後の2つは該当しないので記入していません。質問内容としては、

“Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?”(取得したツイートや集計データをTwitter以外の場所で開示しますか?)

“Will your product, service, or analysis make Twitter content or derived information available to a government entity?”(作成する製品・サービスや分析は、TwitterコンテンツやTwitterに由来する情報を公共機関に供しますか?)

"Do you plan to display Tweets or aggregate data about Twitter content outside Twitter?"  "Will your product, service, or analysis make Twitter content or derived information available to a government entity?"

お疲れさまでした。もう少しで登録完了です。基本情報の確認画面になるので、問題なければ右下のNextを押します。

Review information

ポリシーに同意します。

Developer agreement & policy

ここまで進めると、認証済みメールアドレスにTwitterからTwitter Developer Accountを登録した旨のメールが飛んできます。メール内リンクを押すと、ダッシュボードに進むことができます。

Developer Portal

これで利用申請は完了です。

プロジェクトの作成

APIを利用するためにはプロジェクトを作成する必要があります。ダッシュボード中央のCreate Projectを押します。

まずはプロジェクトの名前を決めます。

Name Your Project

次に、選択肢の中からプロジェクトの内容に最も近いものを選びます。今回はツイートbotを作ろうと思ったのでMaking a botを選択しました。

Which best describes you?

続いてはプロジェクトの内容を自由記述で入力します。特に文字数制限はありません。

Describe your new Project

最後にアプリの名前を決めます。アプリはプロジェクトに紐づくものです。このアプリに対してKeyとTokenが発行されます。

Name your App

晴れてKeyとTokenが発行されました。これらを用いて、Pythonなどで作成したアプリからTwitterにアクセスします。

Here are your keys & tokens

まとめ

Twitter APIを利用するための手順を紹介してきました。

英語での申請が必要で若干ハードルが高いと感じる人もいるかもしれませんが、この記事以外にもネット上には例文がゴロゴロ転がっているので、いろいろ参考にして乗り切ってください(笑)

今後は、実際にAPIを利用していこうと思います^^

ではでは👋