【Twitter API v2】Botbirdで自動ツイートが出来ない?解決方法!デベロッパ登録済編

【Twitter API v2】Botbirdで自動ツイートが出来ない?解決方法!デベロッパ登録済編

私は運営している各サイトでTwitterアカウントを利用し、Botbird(ボットバード)を利用して自動ツイートをしている(裏アカウントを運用するほどヒマじゃない)。
通常、外部Botサービスを利用して自動ツイートをしている場合、Twitter Developer(以下、「Developer」と略)アカウントなんか作る必要はないし、アカウントを持っている人の方が少ないだろう。
実際のところメインのTwitterアカウントでは、WordPressPukiWikiのプラグインその他でTwitterを操作する必要があり、あんまり分かってないのにDeveloperアカウントを取得したが、それ以外のTwitterアカウントでは取得していない。
ともあれ、Twitter API v2(以下、「API」と略)を利用する場合は、Developerアカウントの有無によって設定方法が違うため、先にデベロッパ未登録編を記事化した。
本稿ではDeveloperアカウントを持っている人向けの「デベロッパ登録済編」として、APIとBotbirdの設定方法を解説する。
一部デベロッパ未登録編とカブる内容はあるが、あちこち記事を参照することなく、本稿のみで設定が完了する構成になっている。

前提条件

本稿の説明には、次の前提条件がある。

  • Twitterアカウントが電話による認証済みであること
  • Twitter Developerアカウントを取得済みであること
  • Botbirdアカウント(無料プランまたは有料プラン)を取得済みであること

APIの利用はTwitterアカウント単位であり、そのTwitterアカウントが電話による認証済みでないと、APIの利用が出来なくなっている。
Developerアカウントに関しては、Twitter API v1.1の頃に取得している前提とするが、Developerアカウントを持っている場合は、Twitterアカウントは電話による認証がされているとは思うし、本稿を読む以前にAPIを使っているとは思うが・・・。
本稿ではDeveloperアカウントを持っている人が対象なので、Developerアカウントがない人はデベロッパ未登録編を参照して欲しい。

また、本稿はBotbirdの使い方を説明する記事ではないため、Botbirdによる自動ツイートの方法等に関しては、別途ご自身で調べていただきたい。
その上で、本稿ではAPIを無料で利用する方法を説明する。Botbirdを無料プランで使っていれば、APIを含め無料で外部Botによる自動ツイートが可能だ。
ちなみにAPIの無料プランでは、次の制限がある。

  • Twitter1アカウントにつき1アプリ
  • 1アプリにつき最大1,500ツイート/月

例えば、Botbirdの有料プランで1時間に2~3ツイートさせている場合や、Twitter1アカウントで複数のBotbirdアカウントを利用したい場合、Botbirdでの返信(@返信やタイムライン返信等)がしたい場合は、Basic(月額100米ドル)以上のプランを申し込む必要がある。
ただ、Botbirdの無料プランは最大で1時間1ツイートなので、1日24ツイート✕月31日=最大744ツイートであるから、自動ツイートをするだけの用途であれば、APIの無料プランでまったく問題ない

APIを利用するプロジェクトとアプリの作成と設定

Developerアカウントを取得したのは5億年ぐらい前なので、正直、どういう内容で取得したのかは忘れてしまった
ゆえに、人によっては画面遷移を含め、本稿での説明と一致しない部分があるかも知れないが、大筋の流れは合っているハズだ。
ともあれ、まずはAPIを利用したいTwitterアカウントにログインしておく。

APIを利用するプロジェクトとアプリの作成と設定

図のTwitter Developer Platformサイトにアクセスする(図をクリックすると別窓で開きます)。
ページが表示されたら、図赤枠Developer Portal」をクリックし、デベロッパポータル画面に移動する。

APIを利用するプロジェクトとアプリの作成と設定

図のように、デベロッパポータルのダッシュボード画面に遷移する(ハズな)ので、図赤枠Create Project」をクリックし、APIを利用するプロジェクトを作成する。

APIを利用するプロジェクトとアプリの作成と設定

プロジェクト名を入力する画面に遷移するので、図赤①のようにプロジェクト名を入力する(画面ではTwitter内ユニークであるアカウント名「dajya_ranger_」と入力)。
プロジェクト名を入力したら、図赤枠②Next」をクリックする。

APIを利用するプロジェクトとアプリの作成と設定

次に、プロジェクトを何に使うのか?を指定するため、図赤①Making a bot」をコンボボックスから選択し、図赤枠②Next」をクリックする。

APIを利用するプロジェクトとアプリの作成と設定

次に、プロジェクト概要を入力する。
本来なら任意入力のハズだが、図赤①のように概要を入力し、図赤枠②Next」をクリックする。

APIを利用するプロジェクトとアプリの作成と設定

図の画面に遷移するため、今度はアプリの作成(設定)をする。
アプリ環境は画面の通り「Development(開発)」のままで良いので、図赤枠Next」をクリックする。

APIを利用するプロジェクトとアプリの作成と設定

次に、アプリ名を設定する。
赤①のアプリ名は、Twitter内ユニークでなければダメ(?)なようなので、プロジェクト名+「_bot」としておくと良いだろう(画面では「dajya_ranger_bot」と入力)。
なお、Botbird経由でのツイートには、このアプリ名が記載される(後述)。

APIを利用するプロジェクトとアプリの作成と設定

ここまでの設定で図のようにAPI KeyAPI Key SecretBearer Tokenの内容が表示されるので、テキストファイルその他に転記し、厳重に保管しておこう。
なお、転記する場合は図赤下線Copy」をクリックし、テキストファイルその他へペーストすると確実だ。
保存したら図赤枠App settings」をクリックする。

APIを利用するプロジェクトとアプリの作成と設定

図の画面に遷移するので、最後にアプリのユーザ認証を設定する。

APIを利用するプロジェクトとアプリの作成と設定

具体的には、画面を下にスクロールし、図赤枠Set up」をクリックする。

APIを利用するプロジェクトとアプリの作成と設定

図の画面に遷移するので、アプリのパーミッション(許諾)とアプリのタイプを設定する。
自動ツイートBotのため、少なくとも「Read and write」以上のパーミッションを設定する必要がある。図赤①Read and write and Direct message」を設定しても問題がないので、図ではそれを選択している。
アプリのタイプは図赤②Web App, Automated App or Bot」を選択しておく。

APIを利用するプロジェクトとアプリの作成と設定

画面を下にスクロールし、アプリ情報を入力する。
必須入力なのは図赤①なので、次のように入力する。

https://mtbrs.net/twcallback」と入力する(BotbirdのコールバックURL)
運営しているウェブサイトのURLを入力する(画面では「https://dajya-ranger.com/」と入力)

上記に関しては、必ずしも独自ドメインで運営しているサイトに限らないが、自動ツイートに記載されるアプリ名のリンク先URLになるので、指定するURLには留意されたい。
最後に図赤枠③Save」をクリックして保存する。

APIを利用するプロジェクトとアプリの作成と設定

すると、図のダイアログ画面が表示されるので、図赤枠Yes」をクリックする。

APIを利用するプロジェクトとアプリの作成と設定

図の画面に遷移し、図のようにClient IDClient Secretが表示される。
Botbirdでは使わない内容だが、一応テキストファイルその他に転記し、厳重に保管しておこう。
なお、転記する場合は図赤下線Copy」をクリックし、テキストファイルその他へペーストすると確実だ。
保存したら図赤枠Done」をクリックする。

APIを利用するプロジェクトとアプリの作成と設定

すると、図のダイアログ画面が表示されるので、図赤枠Yes, I saved it」をクリックする。
以上の手順で、APIを利用するプロジェクトとアプリの作成と設定は完了だ。

Botbirdの設定とテスト

前章まででAPIを利用する準備が完了したので、BotbirdにログインしてAPIの設定をし、テストをしてみよう。

Botbirdの設定とテスト

赤枠①ボットトップ(設定)」をクリックして画面を下へスクロールし、次の項目を転記した内容からコピー&ペーストして入力する。

API Key
API KeySecret

入力後、図赤枠④設定する」ボタンをクリックするとページがリロードされる。
ページが再表示されたら図赤枠⑤Connect w/ Twitter」ボタンをクリックする。

Botbirdの設定とテスト

図のような画面に遷移するので、図赤枠連携アプリを認証」ボタンをクリックし、Twitterアカウントに接続する。

Botbirdの設定とテスト

テストとしては、図のBotbird管理画面トップから「今すぐつぶやく」を実行する。
具体的には、図赤①のように何かテキストを入力し(画面では「テスト」と入力)、図赤枠②つぶやく」ボタンをクリックする。

Botbirdの設定とテスト

図のようにBotbird経由でツイートが出力されれば、テスト成功だ。
赤下線dajya_ranger_bot」のリンクは、BotbirdがAPIの「dajya_ranger_bot」アプリに接続してツイートしていることを示し、そのリンク先はアプリの認証画面のアプリ情報で入力したウェブサイトのURLとなる。
なお、図赤下線部分のリンクは「GoodTwitter2」をブチ込まなければ表示されない(Twitter標準UIでは表示されない)ので注意
興味がある人は次の記事を参照のこと。

Botbirdの設定とテスト

もし、Botbird経由でツイートが出力されていない場合は、Botbirdのエラーログを参照してみよう。
赤枠①ボットトップ(設定)」をクリックして画面を下へスクロールし、図赤枠②のようなエラーログが出力されていたら、API側のアプリ設定か、Botbird側の設定にミスがあるハズだ。
本稿の設定手順と実際の画面を見比べてミスを探し、直すしかない。
テストが正常に完了したら、Botbirdで「停止」になっている設定を変更すれば、Botbirdによる自動ツイートが可能になるだろう。

おわりに

Developerアカウントを取得した当時はTwitterの仕様変更があり、タイムラインの表示系に変更があったと記憶している。
古い記事だが、当時「【超簡単】WordPressのサイドバーにツイッターのタイムラインを組み込む!」が読まれていて、WordPressにTwitterタイムラインを表示させたいニーズが結構あったのだ。
当時はDeveloperアカウントの英語とその仕組みの分かりにくさに手を焼いたが、結局仕様変更部分がまた元に戻り、その後にPukiWiki用Twitterタイムライン/ツイート埋め込みプラグイン(正確にはこのプラグインの前身となるプラグイン)の開発でも、Developerアカウントでの作業は発生しなかったので、スッカリ放置したまま忘れていた
今回のAPI有料化に伴う4月4日のTwitter連携アプリの一斉停止により、Botbirdその他の外部Botサービス利用者の自動ツイートBotの停止を受け、私なりに調べて再稼働させてみたが、まだまだ問題はあるようだ。
本稿で解説したように、Developerアカウントを取得しているTwitterアカウントと、そうでないTwitterアカウントでは、APIとBotbirdの設定方法が異なる。
よって私も記事を二分割化せざるを得なかったが、問題はDeveloperアカウントを取得していないTwitterアカウントの場合で、対応はBotbirdマターではあるが、実質的に自動ツイートBotが停止したままだ
コレに関してはBotbirdへ問い合わせ中だが、まだ回答はない
ともあれ、私のような個人でも自動ツイートBotの停止は困るし、何とか再開させようと調査して、こうして記事化しているが、法人の場合ならなおさら自社ビジネスにも関わってくるだけに、問題は深刻だろう。
ネットに有効な情報が少なく、しかも法人のTwitter担当者はどこに相談していいのかすら分からず、途方に暮れたのではないだろうか。
それらを含め、また、個人・法人を問わず、フリーランスSEの私に相談してくれれば、と思う。
私が運営している無料のオンラインサロンは次の通りなので、簡単に答えられる範囲なら無料で対応する。

相談内容によっては、私が実際に手を動かす等で実費が発生する場合もあるかも知れない。
その場合でも受発注と金額収納の仕組みはちゃんと用意しているので、困ったら気軽に相談して欲しい
最初からプロに相談した方が、結局は安くつく。技術や自信がないなら、タダで済ませようとは思わないことだ

関連記事

C


Warning: strpos() expects parameter 1 to be string, array given in /home/eware/dajya-ranger.com/public_html/wp-includes/compat.php on line 473

Warning: preg_match_all() expects parameter 2 to be string, array given in /home/eware/dajya-ranger.com/public_html/wp-includes/shortcodes.php on line 155
Array

この記事が気に入ったら
いいね ! をお願いします


ITで何かお手伝い出来ることはありませんか?

CTA-IMAGE

本サイトでは、外部サービスと連携して「ITの困った」を解決します!

ソフトウェアカテゴリの最新記事