プログラミングが書けるようになってきたら、いろんなサービスと連携して遊びたくなりますよね。
APIには色々あるんですが、Twitterにもあります。
そしてこのTwitter API、使う前の準備が非常にめんどくさいです。これはプログラミング初心者が挫折するには十分すぎる壁だと思います。
というわけで今回はTwitter APIの利用申請と、PythonでのAPI利用の準備について説明します。
開発者アカウントとは
Twitter APIを利用するに当たっては、開発者アカウントを事前に登録する必要があります。
開発者アカウントはTwitterのユーザーアカウントとは異なるものです。
まずこのTwitter開発者ページに行きます。
開発者ページにきたら、画面右上の “Apply(申請する)” をクリックしましょう。
「開発者アカウントに興味がおありですか?」
と書いてありますね。
開発者アカウントの作成にあたって、自身のTwitterの普通のアカウントを紐づける必要があります。
普段Twitterを使っている人は、現在ログインしているアカウントが紐付け対象の候補として表示されます。開発者アカウントを別のアカウントと紐付けたい場合や、アカウントを持っていない場合は、Twitterアカウントを作成し、この画面で指定しましょう。
APIの用途がツイート情報を取得してくるだけなら、普段使いのアカウントのままで問題ないと思いますが、フォローが許可された鍵付きアカウントのツイートを取得する場合は、そのアカウントを開発者アカウントに紐づける必要があります。注意してください。
“Add your account details”
「アカウントの詳細を追記してください」と言われました。
質問とそれに対して記入すべき回答を一つずつ見ていきましょう。
- “Who are you requesting access for?”
- “Account name”
- “Primary country of operation”
「誰のためにアクセスを要求していますか? (組織ですか個人ですか?)」
組織で使われる方は上、個人で使う方は下を選択しましょう。
開発者アカウントのアカウント名を指定します。これは普通のTwitterアカウントの名前とは関係なく、好きなものを書いてください。
「基本的に利用される国」。目的によって異なりますが 、普通はJapanとなると思います。
ここまでかけたら下の “Continue” をクリックしましょう。
次です。
“Tell us about your project”
「あなたの作品について教えてください」
と言われました。先ほどと同じく、質問と記入すべき回答を並べます。
-
“What use case(s) are you intended in?”
「どの用途での利用を考えていますか?」これは人によると思います。
学術研究、広告など様々な選択肢が用意されていますが、迷った方は赤枠で囲んでいる “Student project / Learning to code (学生プロジェクト/コード学習)” を選べば良いと思います。 -
“Describe in your own words what you are building”
制作物についての説明を求められていますが、これについては後述。 -
“Will your project, service, or analysis make Twitter content or derived information available to a government entity?”
「あなたのプロジェクト、サービス、解析はTwitterのコンテンツやそこから生じた情報を政府機関に利用可能な状態にしますか?」
普通は No となると思います。
説明を飛ばしている制作物説明ですが、この項目だけ圧倒的に面倒です。詳細は後ほど話すことにして、一旦申請を送信するところまで説明します。
先ほどの画面で Continue を押すと、利用規約が現れます。
最後までスクロールしてチェックボックスをクリックして先へ進みましょう。
“One more step…” と表示されましたが、最初に紐づけたTwitterアカウントに登録してあるメールアドレス宛に確認のメールが届きます。
“Hi [アカウント名]!”というメッセージと共に開発者アカウントの話をされます。
“Confirm your email” をクリックしましょう。
“Application under review.” 「アプリは審査中です」と出てきました。あとは待つのみです。
制作物の説明
さっき飛ばしていた項目です。質問の文章が長いですが、全体を和訳すると以下のようになります。
TwitterのAPIを使ってあなたが何を作りたいかを説明してください。以下の質問に対して詳細に回答してください。
質問内容があなたの制作物について不適切である場合、その旨を明示してください。回答内容が詳細であるほど、確認、承認を行いやすいです。
- あなたの、APIのメインの利用方法、目的、意図はなんですか?
- あなたはツイート、ユーザー達、彼らのコンテンツを解析しようとしていますか?
もしそうなら、あなたが実行しようとしている解析の詳細、利用しようとしている手法・技術を教えてください。 - あなたの利用はツイート、リツイート、いいねのいずれかの動作を行いますか?
もし行うなら、あなたがユーザーや彼らのコンテンツとどのようにinteractするかを教えてください。 - あなたの作るアプリのユーザには、Twitterのデータはどのように表示されますか?
もしTwitterの内容をTwitter以外の場所で表示しようと考えているなら、どこに・どのようにTwitterの内容が
あなたの作品・サービスのユーザに提示されるかを説明してください。個別のツイートやtwitterの内容が表示されたり、ツイートやTwitterのコンテンツの情報の集計が表示されたりしますか?
文字数の指定は300文字以上と示されていますが、おそらく300文字程度書いただけでは承認されません。
先ほど審査してもらうところまで説明しましたが、もちろん合格しなければAPIは利用できません。そして、このチェックが、厳しいです。
不合格であった場合、メールが届き、追加で送信すべき情報について説明してもらえます。
そしてメールに返信する形で申請内容を更新することができます。
しかし一度の更新で合格とならない場合があります。
僕は追加質問に2度目に返信した段階で申請が通りました。
諦めずに頑張って申請してください。
審査が通った方は
お疲れ様でした!!これであなたもTwitter開発者の一員です!
合格通知メールのリンクなどから、自分のページへ飛ぶことができます。
ここからは実際にPythonなどでAPIを利用する際に必要になる準備を説明します。
開発者ページにログインした状態にしておいて、右上のプルダウンメニューからAppsを選択します。これで自分の制作してきたアプリ一覧を確認できます。
僕はすでにアプリを4つ作成しているのでそれらが表示されていますが、初めての方は何も表示されないはずです。
画面右上の “Create an app” 「アプリを作成する」をクリックしましょう。
このようなアプリ説明の入力画面が表示されますが、赤枠をつけたところ(requiredと書かれたところ)だけ入力すれば十分です。
アプリの説明は申請提出時ほど詳細には書かなくて良いでしょう。
“Website URL” は、もちろんWeb上でアプリを稼働しようとするならそのサイトのURLを書けば良いのです。そのような予定のない人は多いと思いますが、適当にtwitterの個人アカウントのURLを書けば良いと思います。
全て完了したら最後の “Continue” をクリックしましょう。これでアプリの外側だけは作成されました。
ではAppsの画面に戻りましょう。
そして、作成したアプリの “detail” をクリックします。
さらに、 “Keys and tokens” をクリックします。
これはアプリの詳細画面なのですが、APIを利用するための鍵も表示されます。
アプリ作成直後は下段のAccess tokenは自動で生成されません。が “Create” をクリックするだけで生成されます。
この画面に表示されている。
- API key
- API secret key
- access token
- access token secret
の4つがTwitter APIの利用において必要となる文字列です。
ここまで用意できた方は、お疲れ様でした!これで準備完了です。
Twitter開発ライフを楽しみましょう!