TwitterAPIを使えるようにする方法-最新版(2020/10/30現在)

#はじめに
TwitterAPIを使えるようにするためのデベロッパー申請のやり方に関して最新版がなかったので書き書きしました。デベロッパー申請をしてAPIキーとトークンを取得するところまで記載します。
参考になればと。
#登録する
###Twitterアカウントを作る
[Twitterアカウント](https://twitter.com/i/flow/signup)を作成します。
出てくる指示に従っていけば作れます。

###デベロッパー申請をする

作ったアカウントに関してTwitterAPIを利用するためにデベロッパー申請をしていきます。
Twitterにログインした状態で、[Developerサイト](https://twitter.com/i/flow/signup)へアクセスします。
「Create an app」ボタンをクリック。
![スクリーンショット 2020-10-27 23.42.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/4e9f104f-4ff8-1139-751f-2dd274c7044a.png)


Applyをクリック。
![スクリーンショット 2020-10-27 23.32.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/bc9d688b-52c8-1ea7-7204-ec9c26cefdd1.png)

デベロッパーツールの利用目的を選択。今回はBot作成なのでMaking a botを選択。Nextをクリック。作りたいものに応じて選んでください。
![スクリーンショット 2020-10-27 23.40.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/c848a356-b9db-7b38-c755-d9cf9f80bbe3.png)

ここで電話番号認証がまだの場合は以下のように求められますので登録しましょう。
![スクリーンショット 2020-10-27 23.45.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/295dfdac-b560-98e8-973e-397f3f844380.png)
またこのページでは以下のようなことを登録していきます。

1. デベロッパーアカウントのユーザーネーム
1. 個人のアカウントかチームアカウントか
1. 登録するメールアドレス
4. 住んでいる国
5. ニックネーム
6. APIのアップデート情報をメールで受け取りたいか？

ぽちぽち設定していきましょう。設定を終えたらNextをクリック。

![スクリーンショット 2020-10-27 23.58.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/80d5ea01-9ea1-a8c7-7c24-df041ec908c4.png)
英文でTwitter APIの利用目的を回答していきます。
![スクリーンショット 2020-10-27 23.58.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/7ab57f80-10e6-a277-f659-f1036ee565e2.png)
１つ目は「TwitterAPIと取得できるデータの利用目的を英語で教えてね！詳しく書けば承認されやすくなるよ。」といった感じに書いてあるので私は以下のように回答しました。サンプルです。

```
・自分で作ったブログに投稿した記事をTwitterのAPIを利用して、定期的に自動でツイートしたい。
・Twitterのタイムラインに自動的に表示させるのは1日に8回程度です。
・TwitterAPIを利用して取得したデータをTwitter以外で利用することはありません。

#英訳
・I want to use Twitter's API to automatically display articles posted on my website on the Twitter timeline.
・It is automatically displayed on the Twitter timeline about 8 times a day.
・The data acquired using the Twitter API will not be used for anything other than Twitter.
```

![スクリーンショット 2020-10-27 23.59.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/2126e64b-0c5e-e53c-8642-f62a26438333.png)
2つ目は「Twitterのデータを分析する予定ある？」といった感じに書いてあるので以下のように回答しました。

```
自分のブログ記事を記載した自動ツイートで、ユーザーに人気のあるツイートを分析したい。

#英訳
I want to analyze tweets that are popular with users with automatic tweets that describe my blog article.
```
3つ目は「アプリはツイート、リツイート、お気に入り、フォロー、ダイレクトメッセージを利用する？」といった感じに書いてあるので以下のように回答しました。
![スクリーンショット 2020-10-27 23.59.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/f251b0bc-1178-b7ff-26b9-f242c1174c32.png)

```
私のアプリは自分で作ったブログに投稿した記事をTwitterのAPIを利用して、定期的に自動でツイートしたいのでツイート、リツイート、お気に入り、フォロー、ダイレクトメッセージを利用する。

#英訳
My app uses Twitter's API to automatically tweet articles posted on my blog, so I use tweets, retweets, favorites, followers, and direct messages.
```
4つ目は「Twitter以外でデータとかを利用する？」といった感じに書いてあり、今回は使わないので、Noにしました。
![スクリーンショット 2020-10-28 0.30.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/7d79d337-37d8-fbb9-6ceb-95d854406d7a.png)
5つ目は「開発するアプリや分析結果を政府機関が利用するか？」といった感じに書いてあり、今回は使わないので、Noにしました。
![スクリーンショット 2020-10-28 0.32.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/f5d5ebff-26b5-8bea-7944-31d896b2e913.png)
ここまで入力したらNextをクリック。
![スクリーンショット 2020-10-28 0.36.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/a8b33c34-53cb-bb83-e6fd-721f3413ca06.png)
入力内容の確認画面になります。入力内容に間違いがなければLooks good!をクリック。
![スクリーンショット 2020-10-28 0.34.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/58734c6b-cca0-ec2f-55f2-17d5a18af913.png)
利用規約に同意して申請します。
![スクリーンショット 2020-10-28 0.38.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/ec2c5fec-045b-b2ab-1d14-8aecd76d2a52.png)
以下の画面が表示されれば申請完了です。あとは神に祈るだけ。
![スクリーンショット 2020-10-28 0.40.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/1162ee5c-dda2-dc0a-73d9-0297f32984dd.png)
Twitterから以下のような本登録メールが届いているので、メールに記載されているURLにアクセスすれば登録が完了です。
![スクリーンショット 2020-10-28 0.43.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/d6d1298e-468c-dd29-dd42-976a0d54b2af.png)

#TwitterAPIのAPIキー、トークンを取得
登録したデベロッパーアカウントを使ってAPIキー、トークンを取得します。
[Developerサイト](https://twitter.com/i/flow/signup)へアクセスすると下のような画面に入れます。
![スクリーンショット 2020-10-30 0.28.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/708954c9-bf96-e438-af5c-8c876d247bf2.png)
スクロールするとCreate Appがあるのでクリック。
![スクリーンショット 2020-10-30 0.32.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/c5fa9e02-4aea-e86c-4a69-24a58acda292.png)
アプリ名を入力。
![スクリーンショット 2020-10-30 0.33.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/c98bcb0a-8d9f-59d7-61a8-b67db66b28a7.png)
取得できました。人に見せちゃダメですぞ！！
![スクリーンショット 2020-10-30 0.36.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/2f2e607d-1d3a-45f3-3f63-ada8866370d1.png)
#おまけ
###TwitterAPIの取得場所
[Developerサイト](https://twitter.com/i/flow/signup)へアクセス。先ほど登録したアプリ名をクリック。
![スクリーンショット 2020-10-30 0.55.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/5af06e4d-aee8-e054-d8d7-67de84a9213f.png)
Keys and tokensをクリック。
![スクリーンショット 2020-10-30 1.41.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/927e24b8-4225-617b-cd34-e0277f54c58a.png)
ここから取得できます。

###TwitterAPIの読み書き許可（APIを使ってツイートする時とかに使う）
TwitterAPIからツイートをしたい場合はデフォルト設定ではできません。
APIの特権の変更が必要です。以下の手順でできます。
登録したアプリ名をクリック。
![スクリーンショット 2020-10-30 0.55.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/5af06e4d-aee8-e054-d8d7-67de84a9213f.png)
Settingsをクリック。
![スクリーンショット 2020-10-30 1.44.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/77c3f8bc-2f9e-9d2a-d892-f356ce878291.png)
スクロールをして出てくるApp permissionsをRead OnlyからRead and Writeにします。
Editをクリック。
![スクリーンショット 2020-10-30 1.05.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/40a5798a-a492-1286-2b76-25a89552b840.png)
変更できるようになるので、Read and Writeをチェック、Save。
![スクリーンショット 2020-10-30 1.19.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/a3bdd95b-e70d-ee09-b47e-3febe5dcbb28.png)
ええんか？と聞かれるのでええんやでとYesをクリック。
![スクリーンショット 2020-10-30 1.18.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/0ebc9e7c-8c02-4612-58c7-b20fb639184c.png)
TwitterAPIでツイートできる権限を付与できました。
![スクリーンショット 2020-10-30 1.21.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/365885/a2e4703b-02a0-6f39-d2bb-1bf6ee820fa3.png)

#参考にした、参考になるサイト
- [PythonでTwitterしてみた](https://qiita.com/konojunya/items/59a68d35e44db8b87186)
- [PythonからAPIを使ってツイートしてみる【かんたん】](https://prog-masaki.com/tweet-python/)
- [API reference index](https://developer.twitter.com/en/docs/api-reference-index)