皆さん、こんにちは!
この記事では、私が日々お世話になっているTwitter APIの登録方法について説明しています。
私は日々Pythonを使って、Tweetを行っており、毎日のオペレーションには欠かせない存在となっています。
この度、このアカウントでも運用したいと思い、備忘録がてらまとめることにしました!
Twitter APIの登録方法は他のサイトにも様々記載があるのですが、正直情報が古く、現在のUIと異なる場合や、申請方法が全く違っているサイトも数多くあります。
この記事では2022年3月末時点でのAPIの登録方法をまとめているので、ぜひ参考にしてみてください。
Twitter APIとは?
Twitte APIとは、Twitter上のあらゆるサービスをプログラム経由で提供するための機能のことです。

Twitter APIで出来ること
Twitter 上のあらゆるサービスとは、大まかに以下のものがあり、それぞれ方法は異なりますが、Twitter APIを申請することで、プログラムからアクセスが可能です。
- ツイートの投稿
- タイムラインの取得
- いいね、リツイート
- ダイレクトメッセージ
- フォロー、アンフォロー
- ツイートの検索
また、APIはApplication Programing Interfaceの略で、プログラムが通るための正式な通り道となります。
APIを経由することによって、スクレイピングなどをすることなく、正規ルートでTwitterの持つ情報にアクセスできるため、Twitter に限らず、APIが用意されているアプリケーションに対しては、必ずAPIの申請を行いましょう。
当記事での情報は2022年3月末時点でのものですので、最新の情報を確認するようにしてください。
Twitter APIが必要な理由
次にTwitter APIが必要な理由について説明していきます。
必要な理由は、既に皆さんが分かっている様に、先ほど紹介した、「投稿」や「タイムラインの取得」などを自動で行いたいからです。
プログラム経由でアクセスが可能となるため、一度コードを用意してしまえば、半永久的にボタン一つで書いた操作を実施できます。
私の場合、別アカウントにて毎日画像付きで投稿を行っていますが、ブラウザを開いて、画像を張って、テキストを書いて…という操作を省いて、食事をしている間や入浴時間など私がいない間も一定間隔で投稿してくれています。
また、今後挑戦してみたいこととして、SNSデータの分析があります。
特定の検索ワードがどれくらい投稿されているか、どういった傾向にあるのかを分析するのには多くのデータ必要となりますが、手動で集めるのはとても現実的ではありません。
そういったときにAPIが役立ちます。(もちろん制限もありますが)

Twitter のアカウントを開発者用プラットフォームに紐づける
それでは、以下で、Twitter APIを利用するための準備を行っていきます。
Twitter Devoloper を有効にする
まずは自身のアカウントと、Twitter Developerという開発者用プラットフォームの機能を紐づけていきます。
Twitter Developer にアクセスし、Sign upをクリックしてください。

番外編 Twitter アカウントに電話番号を登録する
ここで、番外編、というか私の不手際ですが、Twitter APIを利用するには、Twitter アカウントの電話番号認証が必要です。
もしアカウントで電話番号を登録していない場合は、下記の「Add a valid phone number 」で設定画面に飛べるので、それでOKです。

変更画面はこちらです。
認証に使うだけですので、今回以外で電話番号が必要になることは無いと思いますので、登録しておきましょう。

必要事項を入力
電話番号を登録して戻ると、赤文字の表記が消えているはずです。
この状態になったら、改めて必要事項を入力していきましょう。
入力項目は以下の通り。
- What’s your name ?(Twitter Developerのアカウント名)
- What country are you based in ? (国名)
- What’s your use case ? (アプリケーションの用途)
- Will you make Twitter content or …(国の機関と関係があるか)
Twitter Developerのアカウント名は永久に変更不可能なんで注意が必要ですので、変な名前にしないようしましょう。
国名は、JapanでOKです。
アプリの用途は、色々と選択できますので、自分の用途に近いものを選びましょう。(私はボットを作成するのが目的なので、Making a bot を選択します。)
最後の、長文のものは、正直よくわかっていません…
国の機関と関係があるかを示していると思われますので、ここはNoで。(こういうのは大抵NoでOKなはず…)

利用規約に同意する
全て入力したら、次のページに進みます。
利用規約のページです。ザーーーーっと下までスクロールして、チェックをしたら、次のページへ進みます。

登録したメールアドレスにメールが届くのを待つ
以下のような画面になったら、登録の確認メールが届くはずです。
届いてない場合は、迷惑メールボックスなどを含めて確認しておきましょう。

メールを開く
メールボックスには、「Verify your Twitter Developer Account」というタイトルのメールが届いているはずです。
開いたら、「Confirm your email」をクリックします。

以上でアカウントの作成が完了です!
アプリケーションを作成する
次は、このままアプリケーションを作成していきます。
アプリケーション名を入力
先ほどのメールをそのままクリックして開くと、下記のような怪しい画面になります。
ここではアプリケーション名を入力するのですが、ここの名前は、ツイートを開いたときの「Twitter for iPhone」みたいな部分に入りますので、他の人からも見えてしまう部分です。
私は考えるのが面倒なので、アカウント名と同じAkari_tech +バージョンの「Akari_tech_v1」としておきます。
こうしておけば、アプリケーションを作成しなおすときも簡単です。
入力が完了したら「Get Keys」をクリックします。

APIキーを保存する
次はAPIキーを保存します。
ここで表示されるものは、どれもパスワードのようなもので、外部に公開しないようにしましょう。
1度しか表示されないので、保存し損ねた場合は、再発行が必要になります。
Twitter側が、どのアプリケーションがアクセスしているかの確認に使います。
このキーは、一度しか表示されないので、必ずコピペして保存しておきましょう。(再生成が必要になります。)
Twitter 側で、このアプリは、ツイートを許可してるアプリだな…、このアプリは、データの取得を許可してるアプリだな…
といった具合に認証しています。


管理画面に移行する
保存が完了したら、管理画面に飛ばされます。
チュートリアルが表示されますが、今回はSkip Tourでスキップします。

権限の設定を変更する
この画面が、いわゆるアプリケーションの管理画面です。
ただ現状では、まだアプリを使える状況ではありませんので、次はアプリに与えられた権限を変更していきます。
画面下の「User authentication settings」の「Set up」をクリック。

クリックすると、設定画面に飛びますので、設定を行っていきましょう。
今回は、OAuth1.0aでOKなので、そちらをグリーンのチェックに変更します。
次は、「Request email from users」を有効にします。
※ここを有効にしないとアプリケーションの権限を変更できません。
今回は、ツイートを投稿したいので、「App permissions」を「Read and Write」に変更します。

アプリケーション情報を入力する
そのまま画面を下にスクロールすると、Callback URLなど色々と入力するメニューが出てきます。
こちらですが、Callback URLは、自分のTwitterアカウントのホーム画面のURLを入れておくと良いと思います。
あとは、Terms of serviceやPrivacy Policyが必須項目となっています。
これらは、Forumで調べたところ、なんでも良いと書かれていました…
まあなんでもいいわけではないと思うので、ブログなどを持っている場合はブログのプライバシーポリシーページにTwitter APIの用途などを記載するか、Githubなどにまとめておくのも良いと思います。

入力が完了したら「Save」をクリック。

アクセストークンを発行し保存する
最後は、残りのアクセストークンを取得しましょう。
Keys and Tokensをクリックします。

画面が移ったら、「Authentication Tokens」の「Access Token and Secret」を「Generate」します。

完了!!
あとは、表示された「Access Token」と 「Access Token Secret」を保存したら、準備完了です。
かなり長文になってしまいましたが、先ほどから登場しているトークンやシークレットが保存してあれば問題ないです。(保存し損ねたら、再発行すればいいので、そこまで問題ではないです)

最終的に、Access Token and Secret の生成日が、変更されていたら、OKです。


参考 公式ドキュメントの該当ページ
ここからは、Twitter APIを使う上で欠かせない、公式ドキュメントについていくつか紹介します。
冗談抜きで公式ドキュメントよりも詳しい情報ソースは存在しませんので、色々と機能をフル活用しようと思うと、最終的には公式ドキュメントにたどり着いてしまいます。
公式ドキュメントを見てください。
と言ってもいいのですが、せっかくなので、特に参考になりそうなドキュメントのリンクを張り付けておきます。
Documentation Getting started
https://developer.twitter.com/en/docs/twitter-api/getting-started/about-twitter-api
こちらは公式ドキュメントの初歩の初歩のような記事です。
Twitter APIとは?といった基本的な内容から、初めてのTwitter APIのとうな基本的な内容が多く記載されています。

Documentation Standard v1.1
https://developer.twitter.com/en/docs/twitter-api/v1
こちらは、Twitter APIで利用されているOAuthのバージョン1.1についての記事です。
OAuthには、1.1と2.0がありますが、この記事で紹介したAPIも1.1ですよね。
その違いや、OAuth1.1について、出来ることなどがまとまっています。

Tutorials
https://developer.twitter.com/en/docs/tutorials
こちらは、Twitter APIを使ったチュートリアルです。
ツイートの取得方法やツイートの仕方など、サンプルとともに掲載されており非常に参考になります。

Developers Forums
Developers Forumsでは、Twitter APIの利用者が中心となり、Twitter APIに関する質問などを閲覧することができます。(もちろん)
Twitter APIの情報はネットで検索しても出てきませんが、このフォーラム内で検索すると見つかることも多いです。

まとめ
以上、Twitter APIの申請方法、2022年版を作成しました。
日々UIや規約が変わるTwitterですが、現時点で最新の情報となっていますので、皆さんもぜひ申請して活用してみてください。
別の記事では、Twitter APIを活用したツイートの自動化なども試していきたいと思います!