【最新・図解】TwitterAPIの申請・発行方法(2021年4月)

###この記事の情報は2021年4月2日現在のものです。
#はじめに
2020年5月に、私が[TwitterAPIの発行・申請方法【図解】](https://qiita.com/kazupen2018/items/ff9828cc853ab9c3357e)という記事(以下"前記事")を書きましたが、久々に申請しようとしたところ、UIが変わっていたため新たに執筆しなおすことにしました。

**本記事は、「説明文が上で画像が下」という形になっています。読みづらかったら申し訳ないです。**
また、和訳はDeepL翻訳とGoogle翻訳により行ったものを、一部わかりやすく?改変したものです。

####電話番号を登録したTwitterアカウントを用意する
そもそもTwitterアカウントがないと申請もなにもないんですが、APIを申請できるのは**電話番号を追加してある**アカウントです(確か)。事前に電話番号を登録しておくと申請がスムーズに進むため、[こことか](https://help.twitter.com/ja/managing-your-account/how-to-add-a-phone-number-to-your-account)を参照してアカウントに電話番号を登録しておいてください。

#申請する
申請するアカウントにログインしている状態で、https://developer.twitter.com/ にアクセスします。
こんな感じのサイトに飛びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/b5a3273d-4886-c7be-2606-e3560bccfadc.png)


右上のApplyをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/40653fb1-6674-84c3-aa7e-c748c50578f2.png)


「Apply for a developer account」(和訳:開発者アカウントを申請する)をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/7a1326db-1826-8227-e7d1-92dc3a1c1b44.png)


申請理由を聞かれます。
>まず最初に、適切なアプリケーションを用意しましょう。
>Twitter開発者プラットフォームを使用して行う予定の作業に最も近いものを選んでください。
>これらの間にはいくつかの重複がありますので、あなたの主な目的の具体的な内容に焦点を当ててください。

みたいなことが書かれています。左から順に、「プロフェッショナル」「趣味人(愛好家)」「アカデミック」と書かれているため、(技術系の)仕事で使う人は左、趣味で使う人は真ん中、学習で使う人は右を選択すれば問題ないでしょう。私は趣味で使うため、真ん中の「hobbyist」を選択しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/451f9314-cce5-6ad2-90be-3160dea3e2dd.png)


さらに詳しい利用目的を聞かれます。該当するものがない場合は、先程選択した使用目的(プロフェッショナル、趣味、アカデミック)を変更してみてください。
私はRaspberry Piを利用したTwitterBOTを作りたいため、「Making a bot」を選択しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/c049dc63-dc34-a9cf-e94d-077a0c4c4c4f.png)


下にスクロールし、「Get started」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/06997fd1-aacf-46f4-9890-f76208a69ccd.png)


このような画面になります。黒塗りされている部分にはアカウントに登録されているメールアドレスが表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/11f91c71-a203-5950-b6c1-4c9a45900541.png)


4つ入力項目があります。
What would you like us to call you?(何と呼びますか？)・・・アカウントの名前にしたい文字列を入れます。多分なんでもいい。
What country do you live in?(どこの国に住んでいますか)・・・自分の住んでいる国を選択してください。この記事を読んでいる多くの方は日本だと思われますので、「Japan」を選択します。
What’s your current coding skill level?(現在のあなたのコーディングスキルレベルはどれくらいですか？)・・・審査には影響せず、より適切な体験を提供するために聞かれるらしいです。微妙ですが「Some experience」を選択しておきました。
Get the latest Twitter API news? (optional)(Twitter APIの最新情報を入手しますか？)・・・チェックを入れると最新情報がメールで届くらしいですが、私は入れませんでした。
入力・選択が終わったら右下の「Next」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/58b07f08-7300-2cc7-07c4-35b3ec8b372a.png)


####英作文エリア
英作文エリアに突入しました。[DeepL翻訳](https://www.deepl.com/ja/translator)とか[Google翻訳](https://translate.google.co.jp/)とかの手を借りながらやっていきます。
英語で、Twitterデータおよび/またはAPIをどのように使用する予定なのかを説明します。詳細であればあるほど、承認がしやすくなるらしい。
私は以下のように入力しました。
_Use the API to create a BOT that automatically tweets a wide range of news, from local news in Japan to world news, as well as weather forecasts for Japan, retrieved by Raspberry Pi. Specifically, RSS feeds from various news sites will be periodically retrieved by the Raspberry Pi and tweeted._
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/a935b72c-cfa1-0a79-c8b7-3a1b4f4f4140.png)


下にスクロール。
>Twitterデータを分析する予定はありますか？

私はないので、Noにしましたが、予定がある方は理由を英作文してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/16efa597-fddc-2582-1262-64645b5caf15.png)


>アプリはツイート、リツイート、いいね、フォロー、ダイレクトメッセージ機能を使用しますか？
>これらの機能の使用予定について説明してください。

とのことです。ツイート機能は使用するため、Yesのまま、以下のように使用予定を入力しました。
_It is used to periodically tweet RSS feeds retrieved by the Raspberry Pi. What will be tweeted by these are news and weather reports._
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/ce1f9504-6d3a-34a0-4216-5e7045972a6f.png)


>Twitterのコンテンツに関するツイートや集計データを、Twitter以外の場所で表示する予定はありますか？
Twitterのコンテンツに関するツイートやデータを、どこでどのように、Twitter以外の場所で表示するかを説明してください。

とのことです。私はないので、Noにしましたが、予定がある方は理由を英作文してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/1b84d04a-06cb-b61e-abc6-54af3c2f9b45.png)


>あなたの製品、サービス、または分析により、Twitterのコンテンツや派生情報を政府機関が利用できるようになりますか？
>一般的に、学校、大学、専門学校はこの範疇に入りません。
>Twitterのコンテンツや派生情報を提供する予定の政府機関をすべて挙げてください。

とのことです。**ほとんどの方は「No」で大丈夫です。**政府機関が利用する場合のみ、Yesにしてください。その後、右下の「Next」をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/191cb53c-c7bf-1e4d-471a-2203a87bc028.png)


入力内容の確認画面となります。内容を確認して、右下の「Next」をクリックしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/564e9e1c-549b-8a79-8f11-19637de57866.png)


利用規約とプライバシーポリシー?が表示されます。一応目を通して、下にスクロールしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/1b714dda-1e0b-a69c-d766-981dbbeff219.png)


同意する場合は、チェックボックスにチェックを入れ、右下の「Submit application」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/496ef6cc-0a1b-33a1-20ce-9d38790940e5.png)


確認メールを送信した旨が表示されます。登録してある(黒塗りになっている部分の)メールアドレスをチェックします。
![room1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/88324edd-9888-20e2-c8f2-abc427df6946.png)


「Verify your Twitter Developer Account」という件名でメールが届いていました。「Confirm your email」をクリックします。!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/8e98f916-2bb9-4596-4739-582eac7bb8fc.png)


「メールアドレスが確認され、アプリケーションが審査中です」「完了したとき、または追加情報が必要な場合はメールでお知らせします」みたいなことが書かれています。
![126504(x2.000000)(CUnet)(noise_scale)(Level2)(x2.000000).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/a00d8fa2-38a9-0e1d-db64-d53538fb8730.png)


#申請完了
メールをチェックすると、審査が開始された旨のメールが届いていました。(急に日本語)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/366c998a-bb6c-4880-6419-15036a66e5ff.png)


####追加情報の送信(ない場合あり)
約7時間後、このようなメールが届きました。追加情報が欲しい、とのことですので、以下の通り返信しました。日本語か英語どちらで返信するべきなのかわからなかったのでとりあえず併記しておきました。**人によってはこのメールが届かず、いきなり審査完了になるかもしれません。**
私は以下の通り返信しました。英語が不自然だったらごめんね。
_The purpose of using the Twitter API is to create a BOT using the Raspberry Pi as a hobby.
This BOT will be used to automatically tweet RSS feeds retrieved by the Raspberry Pi.
The contents to be automatically tweeted are news and weather information of Japan. One way to easily view news from multiple media is to use Twitter's list function, but we want to create a BOT that can add information from media that do not have Twitter accounts, so that we can get a variety of information from a single Twitter account. However, we would like to create a BOT so that we can add information about media that do not have Twitter accounts and get various information from a single Twitter account.
The BOT will only be able to tweet. Specifically, we plan to install feedparser and Twython libraries on the Raspberry Pi, use feedparser to retrieve RSS feeds, and use Twython to tweet the contents.
In order to do this, we need to use the Twitter API.
There are no plans to analyze Twitter data or display Twitter content outside of Twitter.
We do not plan to analyze Twitter data or display Twitter content outside of Twitter, nor do we plan to use it for commercial purposes, as it is completely for personal enjoyment.
If you need any other information, please contact us.
I look forward to working with you.
Thank you._
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/df385704-47da-d973-e284-a86e28e288d3.png)


#審査が通った
申請から約29時間、追懐情報の送信から22時間後、このようなメールが届きました。**無事に審査が通りました！**
>###Account Application Approved
>Your Twitter developer account application has been approved!
Thanks for applying for access. We’ve completed our review of your application, and are excited to share that your request has been approved.
Sign in to your developer account to get started.
Thanks for building on Twitter!
>###アカウント申請承認 
あなたのTwitter開発者アカウント申請が承認されました。
>申請ありがとうございました。申請内容の確認が完了し、申請が承認されましたのでお知らせします。
>開発者アカウントにサインインして、作業を開始してください。
>Twitterで開発していたきありがとうございます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/c83e3252-b225-0f97-9e97-b85fdeb29570.png)


####Twitter Developerにログイン、アプリを作成
メールの[リンク](https://developer.twitter.com/en/portal/register/welcome)をクリックすると、このような画面になります。
>では、キーを用意しましょう。その前に、アプリの名前を決める必要があります。アプリの名前はユニークでなければなりません。あまり深刻に考えないでください、後でいつでも変更できます。

と書かれています。**この「App name」は、[ツイートソースラベル](https://help.twitter.com/ja/using-twitter/how-to-tweet#source-labels)(Twitter Web AppやTwitter for Androidなど)として、ツイートの下に表示されるものとなります。**
このApp nameには、日本語(ひらがなカタカナ漢字)も、記号(クエスチョンマークは大丈夫でした)も設定できるので、好きな名前を付けましょう。
App nameを入力したら、「Get Keys」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/bb49b9ee-0631-13b2-44c1-1f8bcbc32a47.png)


#Keyが発行された
お疲れさまでした！無事にAPIKeyなどが発行されました！
**注意事項として、このKeyが表示できるのはこの一回のみです。必ずどこか安全な場所に保存しましょう。誤ってKeyを公開してしまうと、アカウントの乗っ取りが可能になってしまうので注意しましょう。もちろん、いつでもKeyは再発行できます(その場合、以前のは無効になります)**
どこか安全な場所に保存したら、右下の「Test an endpoint」をクリックします。
![1264523.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/6149a619-f057-701b-a490-b9bb3568418e.png)


>トークンを保存しましたか？
>セキュリティ上の理由から、これらの表示は今回が最後です。何かあったときには、いつでも再発行できるようになっています。

という確認画面が表示されます。保存したのなら、「Yes, I saved them」をクリックしましょう。
![123.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/c147d88f-d00f-749b-3b29-4302edcbafde.png)


####アクセストークンとキーの取得
Twythonでツイートするには、アクセストークンが必要だった気がするので取得します。
ダッシュボードにたどり着いたら、アプリ名の右側にある鍵マークをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/491be2dc-7dc8-e502-7dc1-af31839431ff.png)


Keys and tokensという画面になります。
下の方にある「Access token & secret」の「Generate」をクリックします。(この画面でAPIKeyなどの再発行も可能です)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/98a5b446-c4c6-3291-a355-04daada4ff65.png)

作成されました！安全な場所に保存しましょう。これも先程と同じく、**公開しないこと、この1回しか表示されないことに注意してください。**
![123456.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/471662/e9399104-8e42-52dd-0faa-5abd125e19e3.png)
#お疲れさまでした！
これで必要なキーやトークンの取得がすべて完了しました。
最後までお読みいただきありがとうございました。
もし記事に誤り等ありましたら、コメント欄よりご指摘ください。