TwitterのAPIを使う為に開発者登録をする方法(2021年版)

1.TwitterのAPIを使う為に開発者申請をする方法

アイキャッチ画像のクレジットはPhoto by freestocks on Unsplash

Twitterをプログラムから操作するためには、Twitterが提供するWeb API(https経由)を使う必要があります。TwitterはWebブラウザ版もあるので、Webブラウザをプログラムから操作するやり方もあると思われるかもしれませんが、実はAPIを使わずにTwitterを自動操作するのはTwitterの規約で「アカウント凍結もあり得る」とかなり強い表記で禁じられています。APIは無料でも使える(回数制限などはある)ので素直にAPIを使った方が良いでしょう。

なお、Twitter APIを直接使わなくてもTwitterデータを取得できるとされているPythonの有名なパッケージにはtwintがありますが、2021年12月現在はメンテされていないのかやや挙動が怪しい(異常終了したりする)です。代替プロジェクトにはstweetがあるようなのですが、こちらもドキュメントが整備されておらず、且つデータが取得しきれていない時があるように見えます。

そもそもTwitter API 2.0が無料版と有料版があって、それぞれデータ取得数に制限があるのに、第三者が作ったモジュールを使えば制限なしにいくらでも取得できるという状態が本当に持続可能なのかは疑問です。twintやstweetはTwitter API 1.1以前の話で、Twitter API 2.0が主流になるにつれて使えなくなっていく、と思った方が良いかもです。

また、正式に取得したAPIキー経由でデータを取得するtweepyというモジュールもあります。各APIは一定時間に実行可能な件数が決まっているのですが、そういった制限部分を面倒見てくれるのでAPIを直接実行するより楽な部分もありますが、モジュールのVersionUp時に関数名などが大きく変わる傾向があり、動かなくなってしまう事が良くあるので、本ページでは使っていません。

2021年12月追記
現在は、以下に書いてある開発者登録申請して許可を待たずともSingupするだけで50万件/月までは取得できるようになったので、気軽に触ってみるのも良いかと思います。
(開発者登録申請をして許諾されると200万件/月)

TwitterのAPIを使う為にはTwitterに開発者登録をする必要があります。開発者登録は以前は申請しても却下される事などもあったようなのですが、少なくとも2021年7月時点の私の実体験では、使用目的に関するアンケートには相変わらず英語で答える必要はありますが、特に回答内容に対して審査が行われた感じもなく、申請後、mailアドレス確認のメールからURLをクリックするとそのまま利用可能になりました。(むしろ、許可のメールが来るのかと思って数日無意味に待ってしまった)

しかし、インターネット上の文章は古い情報も混在しているので私が申請した時の手順を以下にメモしておきます。なお、Twitterのアカウントは既に取得済の前提です。

TwitterのAPIを使うと何が出来るのか?

APIも実はVersion 1.1とVersion 2が混在している移行期で、ネット上の情報は新旧が混在していて、更に機能が追加される事もあるので全体像がとてもつかみにくいです。

Followerの取得、Followsの取得、Blockの操作、Muteの操作、Likes(イイネ)の操作、リツイートの操作、リツイートの検索、ユーザの検索、ユーザ情報の取得などが出来ます。ただし、イイネの自動化や特定ユーザの監視など、禁止されている用途もあるので最新の規約を確認するようにしてください。

TwitterのAPI Version 2できる事

アカウントのタイプによってはもっと出来る事が増えるのですが、今回申請する手順で実現可能な事は以下です。

ツイートに関する事
・過去7日分のツイートを検索する
・現在、リアルタイムで呟かれているツイートを取得する
・特定のツイートにイイネしたユーザを取得する
・特定のユーザがイイネしたツイートを取得する
・ツイートを投稿する/削除する
・リツイートする/リツイートした人を調べる
・特定のユーザのタイムラインを取得する
・特定のユーザへの通知を取得する
・検索条件に当てはまるツイートの件数を調べる
・リプライをタイムラインで非表示にする

ユーザに関する事
・特定のユーザーのフォロー先/フォロワーを取得する
・フォローする/フォローを解除する
・イイネする/イイネを解除する
・ブロックする/ブロックを解除する
・ミュートする/ミュートを解除する

Space※に関する事
・スペースを探す
※Twitter上で音声を使ったセミナーが開催できる新機能

Listに関する事
・リストを探す
・リストに追加/削除する
・リストのメンバーを調べる
・リストをフォローする

コンプライアンス※に関する事
・過去に収集したツイートやユーザの状態を調べる

※忘れられる権利などに対応するために削除済みツイートやアカウントをバッチで一気に判別する仕組み

TwitterのAPIを利用するまでの全体的な流れ

(1)Twitter developer accountを登録をする
Twitterのアカウントとは別に開発者用のアカウントを登録します。

(2)何の目的でAPIを利用するのかアンケートに答える
多少(1)と内容被るのですがもうちょっと細かく突っ込まれます。

(3)ダッシュボードからプロジェクトを作成してアプリ登録
アプリ登録をするとAPI Key、API Secret Key、Bearer Tokenが発行されます。

(4)(3)で取得したkeyを使ってhttps経由でWeb APIでアクセスして自分のやりたい事を実行する。https経由でkeyを使ってアクセスするので、プログラミング言語は特に限定されているわけではありませんが、動作サンプルが提供されているプログラミング言語にはJava, JavaScript(Node.js)、Ruby、Pythonがあります。

TwitterのAPIを使うための申請のやり方

(1)Twitter developer accountを登録をする

ブラウザでDeveloper Portalにアクセス

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

ツイッターのアカウントを使ってログインします。

中央の「Accept」を押してクッキーを受け入れて、右上の「Create an app」を押します。

「まずはTwitter developer accountを作ってくださいね」と言われているので了解の意味で「Apply」を押します。

以下、申請者(貴方)がどんな人でどんな開発をするつもりなのかのアンケートに答えていきます。アンケート内容は審査に影響しないと書いてあるので正直に選択していけば良いと思います。

「Professional(プロ)」なのか「Hobbyist(趣味)」なのか「Academic(学術研究)」なのか、を選択します。私は使い倒すつもりは今のところないので、真ん中の「Hobbyist(趣味)」を選びました。

用途ですが「Making a bot(ボットを作成したい)」、「Building tools for Twitter Users(他のTwitterユーザのためのツールを作成したい)」、「Exploring the API(APIを使ってみたい)」の3つから選びます。私は「お、ボットなんて作っても良いのか」と思って「Making a bot(ボットの作成)」を選んでいます。

「Get started」を押します。

APIの使用者となる使用者情報を改めて登録します。ツイッターのアカウント作成時に未登録であった情報を改めて聞かれる感じです。メールアドレスなどはアカウント登録時に作成済であれば再登録は不要です。

上から、メールアドレス、個人アカウント(Individual developer account)かチームアカウント(team developer account)かの選択です。今回はちょっと触ってみるだけのつもりなので個人アカウントで登録しました。

・「what would you like us to call you?(何て呼んで欲しいですか?)」

上記画像では「これから作成するアプリの名称の事」を言っているのかと勘違いして回答していますが、おそらくニックネーム的な事を言っていると思います。しかし、登録申請後もここで登録した情報が使われている箇所を見付けられていないので適当で良いと思います。

・「どこの国に住んでいますか?」

Japanにしております。

・「What’s you current coding skill level?(貴方のプログラミングスキルはどの程度ですか?」

「No experience(未経験)」「Some experience(多少経験有)」「Highly experienced(熟練者)」の中から選びます。未経験だと申請が通り難いとかはない、単なるアンケートだとTwitterは主張しているので正直に答えましょう。

・Get the latest Twitter API news?(Twitter APIの最新のニュースを受け取りますか?)

最新のアップデート情報の連絡をメールで受けたければチェックしておきます。

ここまでで、開発者登録は完了です。

(2)何の目的でAPIを利用するのかアンケートに答える

さて、開発者登録が終わったのでAPIの使用用途についてここから細かく聞かれ、英語で回答していく事になります。しかも「In your word(貴方自身の言葉で)」とか「100文字以上」等の下限が決められている項目もあり、ややシンドイですが、ここを乗り切ればもうすぐです。

まず「許可されていない事もありますから、規約をよく読んでくださいね。特にTwitterを自動化しようと考えてる人はAutomation guidelines(自動化ガイドライン)を読んでくださいね」と書いてあります。

一例をあげると、いいねの自動化、リツイートの一括投稿や過剰投稿、スパム的なリツイート、 Twitterアカウントを大量または無差別にフォローしたり、フォロー解除する事、 Twitterアカウントを大量または無差別にリストに追加する事、などは禁止されています。

上部は「TwitterのAPIやDataをどのように利用するつもりなのか貴方の言葉で書いてください」です。

私は以下を英語で入力してます。適宜変更するなり、ご自分の計画をまとめてGoogle翻訳などで英語に変換してコピペしましょう。実際、相互フォロー募集と言っていたのに黙ってフォローを外す人とか、乗っ取られたのか元々計画していたのか突然怪しげなアカウントにプロフィールが変更されたりする事があったのでこれは真面目な用途です。

・相互フォローになっていないアカウントを確認したい
・私がフォローしているアカウントがプロフィールを変更してないか確認したい
・私と共通の話題に興味を持っていそうな人を捜したい

下部は「ツイッターのデータ(ツイッターユーザやツイートの解析を含む)をどのように扱うつもりなのか」を聞かれています。

私は以下を英語で入力してます。適宜変更するなり、ご自分の計画をまとめてGoogle翻訳などで英語に変換してコピペしましょう。私はTwitterの感情分析をやってみたいなぁ、と思って書いてみました。

・私がフォローしてる人のハッシュタグとツイートを分析して流行と感情を知りたい

さて、次の一番上ですが「貴方のアプリはツイート、リツイート、イイネ、フォロー、またはダイレクトメッセージを使用しますか?」です。私は使うつもりだったので以下を入力しています。

「私は自分がフォローしている人、または私をフォローしてくれる人をチェックします。もし、私がその人と相互フォローになっていなかった場合は、フォローをするか、フォローを外します。」

中段は「ツイートや集約したデータをツイッター外で表示しますか?」です。特に予定はないので「No」にしています。

下段は「TwitterまたはTwitterから派生した情報を使う貴方の製品、サービス、分析は政府機関が利用する予定ですか?」です。特に予定はないので「No」にしています。

最後に確認のために今までに入力してきたものが一覧で出るので必要に応じて修正してください。

一番下までスクロールします。


Nextを押します。

使用許諾条件が出るので下までスクロールして確認します。

右下のSubmit applicationを押します。

確認メールを送ったよ!とメッセージが出るのでメールを確認します。
(到着まで2~3分かかります)


メール内の真ん中の「Confirm your email」を押します。

問題がなければ開発者用ダッシュボードにアクセスできます!

(3)ダッシュボードからプロジェクトを作成してアプリ登録

アプリの登録です。アプリも目的など多少同じような事を聞かれますが、長文は求められないので簡単です。これが終わればようやくAPI Keyを得られます、もうちょっとです。

Developer Portalのダッシュボード(https://developer.twitter.com/en/portal/projects-and-apps)にアクセスし、Create Projectを押します。

プロジェクト名を適当に入力してNextを押します。上の例ではmyFirstProjectにしています。

何度同じ事を聞くんだと思いながら、使用用途を選択してNextを押します。上記では「Exploring the API(APIを取り合えずつかってみたい)」を選んでいます。

プロジェクトの目的を聞かれるので記入してNextを押します。上記では「フォロワーの状態を確認する(check followers status)」と答えています。

最終ステップだよ、アプリに名前をつけてね、と聞かれるのでアプリの名前を入力してcompleteを押します。

API Key、API Secret Key、Bearer Tokenが表示されます。仕様するAPIによって使うものが異なるので全部コピーして保存しましょう。画面を閉じてしまうと再表示はされません。Keyの作り直しになります。

閉じる前に、ちゃんと保存した?ともう一度聞かれます。保存してあれば Yes, I saved themを押します。

ダッシュボードに戻ります。今作ったプロジェクトの稼働状況がわかるようになっています。

これでTwitterのAPIが利用できるようになりました。お疲れ様でした!

ソーシャルメディアを使ってWebサイトを盛り上げる施策の検討」に戻る

タイトルとURLをコピーしました