【GASスプレッドシート】X自動ポストbotツール(テキストのみ)

Twitter自動投稿ツール API

こんにちは!
おでぃーです。

X自動化ツール(テキストのみ)をご購入のかた向けに、設定方法を解説します。

2024/5/1より、スプレッドシート画面や設定方法を大幅に変更しました。
さらに分かりやすく、そして直観的に操作いただけるようになりました
🔍

この記事を書いた人
おでぃー

GASを使った業務自動化に関するテクニックを発信。
本業ではプロダクト開発でエンジニアのディレクションをしながら、副業にてブログ運営やツール・スキルの販売を実施。
ネット広告運用経験からSNS領域の自動化に注力。

おでぃーをフォローする

スプレッドシートの準備

スプレッドシートのコピー

共有したスプレッドシートをコピーします。

Callback URI / Redirect URLの準備

スプレッドシート上部メニューから「初期設定」→「Callback URIを出力」を選択。

選択するとプログラムが実行されます。
初回の実行時はプログラムへのアクセス権限を求められますので、下記の記事を参考に進めてください。

アクセス権限許可直後は何も起こらないため、もう一度メニューから「Callback URIを出力」を選択してください。

下記のようなメッセージボックスが表示されるので、案内に従いURLをコピーしておきます。

X Developer Platformに登録

※すでに登録が済んでいる場合は飛ばしてください。

X Developer Platformにアクセスします。
自動ポストを行いたいアカウントにログイン後、右上の「Developer Portal」を選択。

「Sign up for Free Account」を選択。

テキスト入力欄と、チェックボックス3つが登場します。

テキスト入力欄:「Describe all of your use cases of Twitter’s data and API」には、どんな目的でXのデータやAPIを使用するのかを記載します。

英語で最低250文字が必要です。

Google翻訳等を駆使して、ポストを自動化することで各々のアカウントが成し遂げたいことを記載してください。

特に審査などはなさそうなので、文字数を満たせればクリアできます。

チェックボックスは3つともチェックして、最後に右下の「Submit」を選択。

以上でDeveloper Toolのアカウント登録は完了です。

ユーザー認証設定

Developer Toolへ戻り、「Project&Apps」にあるアプリを選択し、「User authentication settings」にある「Edit」を選択。

「App permissions」と「Type of App」を下記のように設定。

「Callback URI / Redirect URL」と「Website URL」を設定します。

前者にはCallback URI / Redirect URLの準備にて出力したURLを、
後者には「https://twitter.com」を設定。

他の項目は設定不要です。

「Save」で保存します。

APIキーの取得

先ほどのDeveloper Portalへ戻り、上部の「Keys and tokens」を選択。
開いたページから下記の2つをコピーして、どこかに控えておいてください。

  • OAuth2.0 Client ID
  • OAuth2.0 Client Secret

API認証

X(Twitter)APIを登録

スプレッドシート上部メニューから「初期設定」→「X(Twitter)APIを登録」を選択。

ダイアログボックスが表示されるので、先ほど取得した下記2つのキーを入力し「保存」。

  • OAuth2.0 Client ID
  • OAuth2.0 Client Secret

X(Twitter)APIの認証

スプレッドシート上部メニューから「初期設定」→「X(Twitter)APIの認証」を選択。

実行後、メッセージボックスに表示されたURLを別ウィンドウにて開き、Xへのアクセス許可をします。

最後に「Succces!」と表示されれば完了です。

テスト投稿

以上まで完了したら、最後に投稿テストをします。

「定期投稿」シートA2セルに、”test tweet”というテスト投稿用の本文を準備しているので、こちらを投稿してみます。

好きなテキストに変更してもOKです。

スプレッドシート上部メニューから「初期設定」→「手動ポスト(定期投稿シートからテキストが選ばれます)」を選択。

その後、下記2点が確認できればテスト投稿完了です。

  • Xにポストされている
  • B2セル(投稿済み)にチェックがはいっている

投稿設定

共通列

下記は定期投稿・予約投稿の双方に共通する項目です。

テキスト列:ポスト本文を入力します。

投稿済み列:ポストされるとチェックが入ります。ポストされるのはチェックが入っていない行が対象となります。

ポストID列:ポストされるとポストIDが出力されます。

削除列:チェックを入れると、後述するポスト削除の対象となります。

投稿の際に必要な設定としてはテキスト列のみとなります。

定期投稿

定期投稿とは、毎日同じ時間帯に投稿することができる設定です。

定期投稿時間:毎日の定期投稿時間を設定します。1時間刻み、19個まで設定可能です。
なお、GASトリガーの使用上、設定時間ぴったりには実行されません。
例)8:00と17:00を設定→毎日8:00~8:59と17:00~17:59に1度ずつポストされる

時間の入力が完了したら、スプレッドシート上部メニューから「投稿設定」→「定期投稿設定」を選択すると定期投稿設定が完了します。
その際、既存の設定内容はすべて削除されてから、入力された時間が新しく登録されます。

ランダム投稿:ランダム機能のオンオフをチェック有無で切り替えます。
オフのとき、テキスト列で投稿済みのチェックが入っていない本文のうち一番上がポストされます。
オンのとき、テキスト列で投稿済みのチェックが入っていない本文のなかからランダムにポストされます。

投稿済みリセット:投稿済みリセット機能のオンオフをチェック有無で切り替えます。
オンのとき、すべての設定したテキストに投稿済みのチェックが入った場合に、すべての投稿済みチェックを外します。手を加えることなく設定したテキストを永遠にポストしたいときに使います。

予約投稿

予約投稿とは、ポストごとに投稿するタイミングを年月日日時まで細かく指定する設定です。

投稿年月日列:予約投稿日時を設定します。投稿時間(時) 列、投稿時間(分)列も同様です。

時間の入力が完了したら、スプレッドシート上部メニューから「投稿設定」→「予約投稿設定」を選択すると予約投稿設定が完了します。
予約投稿設定を一度すれば、都度の設定は不要です。その後スプレッドシートに時間を入力したものも自動的に投稿されていきます。

予約投稿はプログラムの仕様上、設定時間よりも最大1分早く投稿されます。

投稿設定削除

定期実行や予約投稿の設定を削除したい場合も、メニューから操作できます。

投稿削除

スプレッドシート上部メニューから「その他」→「投稿削除」を選択すると、削除列にチェックを入れたポストをXから削除することができます。

スプレッドシートのテキストは残りますが、ポストIDは空欄になります。

注意事項

投稿設定について

  • 定期投稿や予約投稿は、一度設定すればその後テキストを追加したとしても都度設定する必要はありません。
  • スプレッドシートをコピーすることで複数のXアカウントで使用することができます。その場合は1つ目のアカウントと同様に、手順に沿って最初から設定する必要があります。

ポスト本数制限

X API無料プランでは、

  • 1か月あたり1500ポスト
  • 1日あたり50ポスト

までという制限があります。

大量にポストされる方はご注意ください

ポスト文字数制限

投稿本文の文字数は280文字(半角)までです。

プレミアム等に加入しており、280文字以上の投稿が可能だとしても、API(本ツール)では未対応となります。

シート名は変更NG

既存のシート名は変更しないでください。(プログラムが動かなくなってしまいます)

スプレッドシートのブック本体の名前「X自動投稿(テキストのみ)_おでぃーApps」は変更OKです。

過去のポスト内容との重複

あまり時間が経っていない過去のポストと一言一句同じテキストのポストは、X APIの仕様上投稿されない場合があります。

テキスト内に日付や連番を付与するなど、異なるテキストを設定することをおすすめします。


ここから先は旧バージョン(2024年4月以前にご購入の方)

ここから先は旧バージョンの設定手順となります。

スプレッドシートとGASエディタの準備

スプレッドシートのコピー

次に、共有したスプレッドシートをコピーします。

GASエディタを開く

スプレッドシートからGASエディタを開きます。

X Developer Platformに登録

X Developer Platformにアクセスします。
自動投稿ツールを使いたいアカウントにログイン後、右上の「Developer Portal」を選択。

「Sign up for Free Account」を選択。

テキスト入力欄と、チェックボックス3つが登場します。

テキスト入力欄:「Describe all of your use cases of Twitter’s data and API」には、どんな目的でXのデータやAPIを使用するのかを記載します。

英語で最低250文字が必要です。

Google翻訳等を駆使して、ポストを自動化することで各々のアカウントが成し遂げたいことを記載してください。

チェックボックスは3つともチェックして、最後に右下の「Submit」を選択。

以上でDeveloper Toolのアカウント登録は完了です。

ユーザー認証設定

Developer Toolへ戻り、「Project&Apps」にあるアプリを選択し、「User authentication settings」にある「Edit」を選択。

「App permissions」と「Type of App」を下記のように設定。

「Callback URI / Redirect URL」と「Website URL」を設定します。

前者にはGASプロジェクトIDを使った下記のURLを設定。
https://script.google.com/macros/d/ここにGASプロジェクトIDを入れる/usercallback

GASプロジェクトIDは、先ほど開いたGASエディタのURLに含まれているIDを設定します。
https://script.google.com/home/projects/ここがGASプロジェクトID/edit

後者にはhttps://twitter.comを設定。

他の項目は設定不要です。

「Save」で保存します。

APIキーの取得

先ほどのDeveloper Portalへ戻り、上部の「Keys and tokens」を選択。
開いたページから下記の2つを取得して、どこかにコピペして控えておいてください。

  • OAuth2.0 Client ID
  • OAuth2.0 Client Secret

GAS設定

スクリプトプロパティの設定

GASエディタに戻り、左のメニューバーから「プロジェクトの設定」を選択。

スクリプトプロパティに、

・プロパティ:画像と全く同じ文字列(大文字・小文字も同じ)
・値:取得した文字列

を入力して保存してください。

spreadsheetIdには、スプレッドシートのURLに含まれているIDを設定します。https://docs.google.com/spreadsheets/d/ここがスプレッドシートID/edit#gid=○○○

OAuth認証

スプレッドシートに戻り、メニューバーから「settings」→「Auth」を実行します。

実行については下記の記事で詳しく解説していますので参考にしてください。

実行後、メッセージボックスに表示されたURLを別タブで開き、Xへのアクセス許可をします。

最後に「Succces!」とでれば成功です。

テスト投稿

以上まで完了したら、最後に投稿テストをします。

スプレッドシートA2セルに、下記に従って好きなようにポスト本文を記入します。

Text列:ポスト本文を入力します。

Posted列:ポストされたらチェックが入ります。本文の取得はチェックが入っていない行から行われます。

メニューバーから「Post」を実行します。
これは手動投稿用のボタンです。
(手動投稿は、次項で説明する投稿設定がされていると機能しませんのでご注意ください)

アカウントにポストがされていれば成功です!

以上で初期設定は完了です。

投稿設定

予約投稿設定

scheduleDate列:予約投稿機能がオンのときに使います。

scheduleTime列:予約投稿機能がオンのときに使います。
それぞれ時間と分を選択します。
メニューバーの「regular execution」から「create scheduletriggers」を選択すると、予約投稿機能がオンになります。その際、定期実行機能はオフになります。

予約投稿機能は、プログラムの仕様上、設定時間よりも最大1分早く投稿されます。

定期投稿設定

SettingsRandom:ランダム機能のオンオフを切り替え。
ランダム機能がオンのとき、A列でチェックが入っていない本文のなかからランダムに取得します。
ランダム機能がオフのとき、A列でチェックが入っていない本文のうち一番上から取得します。
予約投稿機能がオンのときは使えません。

Settingsdaily_postTime:デイリーの定期実行設定をします。1時間刻み、20個まで設定可能です。
なお、GASトリガーの使用上、設定時間ぴったりには実行されません。
例)8:00と17:00を設定→毎日8:00~8:59と17:00~17:59に1度ずつツイートされる

時間の入力が完了後、メニューバーの「regular execution」から「create regulartriggers」を選択すると定期実行設定が完了します。
その際、既存の設定内容はすべて削除されてから、入力内容の設定が新規で行われます。
予約投稿機能もオフになります。

投稿設定削除

予約投稿機能や定期実行の設定内容を削除したいときは、「delete triggers」を選択します。


コメント