【GASスプレッドシート】X自動投稿botツール(画像・動画付き)

Twitter自動投稿ツール API

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

X自動化ツール(画像・動画付き)をご購入のかた向けに、設定方法を解説します。

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

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

おでぃーをフォローする

GoogleDriveに画像・動画ファイルをアップロード

ポストに添付する画像・動画ファイルをGoogleDriveにアップロードします。

GASでは、動画や画像といったファイルはDriveAppというメソッドでGoogleDriveから取得し使用することになります。

このとき分かりやすい名前でフォルダを作成しておくと、後になって管理しやすいですし、ファイル名を一括で取得する際にもフォルダ名を使用するのでおすすめです!

スプレッドシートと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」を選択。
開いたページから下記の4つを取得して、どこかにコピペして控えておいてください。

  • CONSUMER_API_KEY
  • CONSUMER_API_SECRET
  • ACCESS_TOKEN
  • ACCESS_TOKEN_SECRET

GAS設定

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

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

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

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

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

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

OAuth認証

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

スクリプトの実行については下記の記事で詳しく解説しています。

テスト投稿

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

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

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

imageName列:画像ファイル名を入力します。拡張子まで含ませます。
(動画対応ツールの場合、fileName列)

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」を選択します。

ファイル名出力

fileList列:folderName列に入力した名前のGoogleDriveフォルダ内のすべてのファイル名が取得されます。
取得するには、メニューバーの「getFileName」から「Get」を選択します。
取得したファイル名は、画像・動画名の設定列にコピペすることで効率的に設定することができます。

注意事項

投稿設定について

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

ポスト本数制限

X API無料プランでは、

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

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

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

ポスト文字数制限

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

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

シート名は変更NG

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

スプレッドシートのブック本体の名前(X Automation Tool)は変更OKです。

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

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

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

メディアサイズ制限

API経由でのポストに添付するメディアにはサイズ上限が設けられています。

  • 画像 5MB
  • 動画 15MB

Google Driveでのサイズが上記に収まっていたとしても、投稿するための変換処理の中でサイズが1.3倍程度になり投稿できない場合がございますので、ご注意ください。

コメント