TwittbotでのTwitter認証・アプリケーション作成方法まとめ

（2023年8月20日追記）
※Twittbotの公式アナウンスの通り、エラー解消がされたようです。
まだ動作面で一部不安なところはありますが、○時間ごとに呟く処理は正常に行われています。
ですので、記事の最後に書いた通り近々旧Twittbotからのツイート移行手順（というよりbotのツイート取得手順）をまとめようかと思います。


※現在（2023年5月1日）以下の手順を行ってもTwittbotは正常に動きません。
あくまでTwittbotとTwitterの連携方法としてお試しください。<br>
<font color="red">（2023年5月6日追記）
コメントでご指摘があった通り、<b>Client IDと Client Secretを他者と共有する行為がTwitterの規約に違反する可能性があるようです。</b>
[開発者契約およびポリシー](https://developer.twitter.com/ja/developer-terms/agreement-and-policy)
![19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/5433597d-f5c8-bcd3-b598-5943609c2cd7.png)
最悪の場合<b>凍結</b>処置も考えられますので、以下の連携を試す際は自己責任でお願いいたします。


# はじめに
これはド素人が作ったTwittbotのTwitter連携方法＆アプリケーション作成方法です。
Twittbot公式の説明があまりにも足りないので作りました。
間違いなどありましたら随時ご指摘ください。
なお、本記事の解説による不具合・その他損害などに関して一切の責任を負いかねますのであらかじめご了承ください。

# Twitterアプリケーション作成方法
まずTwittbotに新規登録ログイン後に表示されるTwitterアプリケーション作成方法について。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/9da67912-daec-932a-97d8-8e75ccc494cb.png)
結論から言うと、公式手順の2～4は行わなくていいです。
以下自分が行ったアプリケーション作成方法。
###### ①Twitter Developerのページを開く
↓リンク
[Twitter Developer](https://developer.twitter.com/en)
###### ②Twitter Developerにログイン
サイトの右上にある「Sign in」ボタンを押してbotにしたいアカウントでログイン。
（すでにログイン済みの方は飛ばしてください）
![5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/92af89eb-2087-4cf6-4f5a-a2f489a6c6c0.png)
###### ③「Get started」をクリック
ページの少し下らへんにあります。
無い方はURLが日本のものになってないかチェックしてください。
![4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/7487e1c5-ce72-b8a2-be84-1a116768bb91.png)
###### ④「Sign up for Free Account」をクリック
無料アカウントにサインアップという意味です。
上の「Subscribe」をクリックすると有料版になるので注意。
![6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/d17e461f-d8f9-951d-079c-acfe8dfa5210.png)
###### ⑤Developer agreement & policyの入力
最初の関門。
![7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/4d63bda4-fadb-a696-f042-48fcfd7d3ea9.png)
↓上から順に翻訳したやつ。
> Describe all of your use cases of Twitter’s data and API:

　訳：Twitter のデータと API の使用例をすべて説明してください。
> You understand that you may not resell anything you receive via the Twitter APIs

　訳：Twitter API を介して受け取ったものを再販してはならないことを理解していること。
> You understand your Developer account may be terminated if you violate the Developer Agreement or any of the Incorporated Developer Terms

　訳：開発者契約または組み込まれた開発者規約に違反した場合、開発者アカウントが終了される可能性があることを理解しています。
> You accept the Terms & Conditions

　訳：利用規約に同意します。

下三つはチェックするだけでいいです。
問題なのは最初のメッセージ欄。
> Describe all of your use cases of Twitter’s data and API:

<font color="red">こちらは250文字以上の入力が必要です。</font>
自分はここ↓とかを参考にして作りました。
[Twitter開発者登録に使う英語例文集](https://note.com/mogya/n/nbd9a720f8a5b)

250文字以上の壁が地味にキツかった…。
以下自分が書いた日本語例文。

    自分がリスペクトするボーカロイド作曲者の歌詞をツイートするbotを作成するために、Twitter's APIを使用したいです。
    twittbotを経由して、サイトに登録した文章を一日数回ツイッターに投稿します。
    このbotは歌詞の考察や感想を呟くのに適したものになると信じています。

こんな感じの文を作ってGoogle先生に翻訳してもらい、メッセージ欄に記載。（各用途に合わせた文章にしてください）
ちなみに今のところTwitterから文句は来ていませんが、理由が不適切だったらもっと具体的に書けメールが飛んでくる可能性があるようです。

###### ⑥「Submit」ボタンをクリック
###### ⑦Twitter Developer Portalへ遷移
こんな感じの画面になったかと思います。これではなく「＋Add App」のボタンが表示された方は公式の作成手順を参照してください。
「PROJECT APP」の下にあるのがbotアカウント名+なんかの数字。
![8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/6e37302e-cd6b-ce60-986a-14312ae5fb40.png)

###### ⑧サイドバーの「Projects&Apps」をクリックし、一番下のbot名をクリック
###### ⑨「User authentication settings」の「Set up」をクリック
![13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/fe45c7a3-86bd-1701-512c-4584c6d850e1.png)
###### ⑩User authentication settingsページで項目設定
ここでやっとTwittbot公式の「Twitterアプリケーション作成方法」が役に立ちます。
もうめんどいので書きません。公式手順の６を参照に各自設定してください…。
「Save」クリック時に出てくる「Changing permissions might affect your App」のメッセージウィンドウは「Yes」を選択。
###### ⑪Here is your OAuth 2.0 Client ID and Client Secretで「Client ID」と「Client Secret」を取得
![14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/43d132d3-8e26-b4e4-a2a1-5714bb5c1fff.png)
上手くいけば公式手順７と同じこの画面が出てきます。
<font color="red">※出てこなかった場合は飛ばして⑫へ行ってください。</font>
「Client ID」と「Client Secret」をコピーし保管。（先に⑬のTwittbotのところに張り付けておいても良いです）
「Done」をクリック。
![15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/936ec0ee-2027-3009-0660-e09c34a19522.png)
「Yes,I saved it」をクリック。
###### ⑫⑪の画面に飛ばなかった場合
ページ飛ばなかった方だけ以下手順実行してください。
![10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/e17900a9-17e1-5355-9511-dfa03cc9659c.png)
- 上にあるタブの「Keys and tokens」をクリック。
- 「OAuth 2.0 Client ID and Client Secret」項目に設定されている「Client ID」を取得。
- 「Client Secret」の「Regenerate」をクリック。
- メッセージウィンドウが出てくるので「Yes,regenerate」をクリック。
- 表示された「Client Secret」をコピーして取得し、「Yes,I saved it」をクリック。

###### ⑬Twittbotの「Client ID」と「Client Secret」を入力
Twittbot「Twitterアプリケーション作成方法」の一番下にある入力欄に、
先程取得した「Client ID」と「Client Secret」を記載します。
![12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3352695/5c039b41-fead-a4bf-bf44-ab041db4fb48.png)
###### ⑭「Twitterアカウントを追加する」をクリック
アプリのアクセスを許可してください。
これで連携できたと思います。

# Twittbotの設定
「つぶやき」から文章を登録するとすぐに１ツイートだけ投稿されるようです。
ですが、その後いくら待っても他のツイートが投稿されません…。情報ください。
解決したらまたこの記事に追記していきます。
ちなみにTwitter Developerにある「Setting」の「Delete App」をクリックし削除すると、Twittbotとの連携が解除されます。
（そのあと新たに作成したAppとTwittbotと連携してもつぶやきデータは消去されていませんでした。）

# おわりに
旧Twittbotから新Twittbotへの移行方法も需要があれば書こうと思います。
Twittbotがちゃんと動作するようになってからですが…。