はじめに
2026/2 追記
2026年2月より、新規にX開発者プラットフォームへ登録した方は、投稿が完全有料の従量課金制になってしまいました。
そのため、課金をして投稿のために使用するクレジットを購入していないと、完成しても投稿ができません。
GASを使用して、ドライブ内の特定のフォルダ内の画像からランダムに画像をツイートするBOTを作ろうとしたのですが、XAPIがV2に変わっていたためやり方がいろいろと変わっており、情報が混在していたため記事を作りました。
今回の記事で紹介しているものは画像のみ投稿できます。動画はまた別ですので予めご了承ください。
事前準備
(Twitter,GASは登録済前提として)
GASのプロジェクトを作成
上記のページにアクセスし、画面右上の新しいプロジェクトを押します。
開いたページのURLが
https://script.google.com/home/projects/[スクリプトID]/edit?hl=ja
となっているので、スクリプトIDをメモ(後で使います)
XAPIの登録をする
- まず、上記のサイトにアクセスします
- 右上の開発者ポータルを押します
- Twitterのアカウントでログインします
画面下部のSign up for Free Accountを押します。
XのデータやAPIを何に使うか書いてくださいと言われるので、(できれば英語で)書きましょう。chatgptやgoogle翻訳を使ってもいいと思います。
その後、その下の3つのチェックを押し、Submitを押します。
Submitを押した後、数秒するとダッシュボード画面になります。これでひとまず登録は完了しました。
XAPIの設定をする
このようなダッシュボード画面が表示されていると思われます。
画面中央にあるPROJECT APPの横にある歯車ボタンを押します。
名前を変更したい場合は、右上のEditから名前を編集します。
次に、画面下部のUser authentication not set upの右にあるSet upを押します。
認証の設定をしていきます。 (required)と書かれているものは必須です。
- App permissionsをRead and writeに設定します
- Type of AppをWeb App, Automated App or Botに設定します
-
App infoのCallback URI / Redirect URLを
https://script.google.com/macros/d/[GASのスクリプトID]/usercallbackに設定します - Website URLにご自身のWebサイトのURL(なければ適当なもの)を入力します
これら以外の入力は任意です。
入力が終わったら、画面下部のSaveを押します。
以下の画面になるので、画面下部にあるClient IDとClient Secretの両方をメモしておきます。(どちらもあとで必要になります)
終わったらDoneを押し、Client Secretを保存するよう言われるのでYes,I save itを押します。
ドライブに画像をアップロードする
ドライブ上にフォルダを作成し、フォルダ内に画像をアップロードします。
フォルダを開いた状態のURLがhttps://drive.google.com/drive/folders/[フォルダID]となっているのでフォルダIDをメモしておきます。
画像形式はできればjpgを推奨します。また、サイズが大きすぎるものは今回の方法では送信できない可能性が高いです。(検証したわけではありませんが)
おそらく4MBくらいが上限と思われます。
サイズが範囲内であればgif形式も可能です。
これで事前準備は終了です。
中身を作る
中身は様々な方が書いていたコードを参考、引用したり、chatgptに聞いたりして書きましたので完全オリジナルではないことをご了承ください。
ソースコード
リンク先のソースコードをGASにコピペしてください。
OAuth2ライブラリ導入
OAuth2.0認証を使うにあたり、ライブラリを使用します。
画面左側のライブラリの横にある+ボタンを押します。
1B7FSrk5Zi6L1rSxxTDgDEUsPzlukDsi4KGuTMorsTQHhGBzBkMun4iDF これをコピペし、検索を押します。
IDとバージョンは変更せずに追加を押します。
ライブラリ欄に追加されていればOKです。
スクリプト プロパティの設定
画面左部からプロジェクト設定を押します。
画面下部のスクリプトプロパティを追加から以下の値を設定します。
-
FOLDER_ID :
フォルダID -
X_CLIENT_ID :
Client ID -
X_CLIENT_SECRET :
Client Secret
初回起動
画面上部からauthorizationSettingを選択し、少し左にある実行を押します。

しばらくすると画面下部にOpen the following URL and re-run the script:[URL]と出ます。URLを開くと以下のような画面になるので、Authorize appを押して認証を完了します。
ツイート時やメディアアップロード時に403エラーが発生する場合は、resetAuthAllを実行して一度認証情報をリセットしてから再度authorizationSettingを実行し、認証をやり直してください。
ツイートしてみる
先ほどと同じように画面上部からtweetImageを選択し、少し左にある実行を押します。

数秒でフォルダ内のランダムな画像がツイートされます。
しっかりツイートできていることがわかります。
自動化してみる(オプション)
今回はGASのトリガー機能を用いて投稿を完全に自動化してみました。
左部のメニューからトリガーを選択します。
画面右下のトリガーを追加を押します。
実行する関数をtweetImageに設定し、定期的にツイートする場合は時間主導型を選択し、任意の時間間隔を選択します。
Free Planの場合、APIを用いて1日に投稿できる上限数は17回なのでご注意ください。
さいごに
BOTを作るにあたり色々調べましたが、TwitterのBOTという母数が多そうなコンテンツの割には、日本語の情報が意外と少なく、少し苦戦しました。
動かない、ここはこうしたほうがいい、記事が間違っている等ありましたらコメントもしくはPRお願いします。
今回の記事の方法で作ったBOTがこちらになります。興味のある方はご覧ください。
参考資料
















