見出し画像

無料で作れるX(Twitter)予約投稿

Xはプレミアム会員でないと予約投稿ができません。プレミアム会員でも長文の予約投稿ができなくて、不便な思いをしている方もいるんじゃないでしょうか。
このプログラムではこれらの問題を無料で、かんたんに解決できます。


ほぼ同じ内容をYouTubeでも公開しています。動画のほうが全体の流れはつかみやすいかもしれません。

あらかじめ用意するもの

  • Googleアカウント

  • X(Twitter)アカウント

  • Xの開発者プラットフォームへのサインアップ

Xの開発者プラットフォームのURLはこちら

Googleスプレッドシートの準備

あらかじめGoogleドライブに保存されたスプレッドシートを準備しておきます。ファイル名は何でもOKなので、後で自分で見てわかるようなファイル名にしておきましょう。

スプレッドシートにはA列に「日付」、B列に「投稿」が入ります。
このシートに用意された日付に該当する投稿内容がXへ自動的に投稿されるようになります。
日付の表示形式は必ず「2024−10−01」という形式にしてください。

Xへ予約投稿するために、このスプレッドシートと連携させなくてはいけませんが、その仲介役にMakeというプラットフォームを利用します。(無料で使えます)

makeアカウントの作成

makeのサイトへいってアカウント作成します。

https://www.make.com/en/register

サインアップはGoogleアカウントでもご自身のメールアドレスとパスワードを設定しても作れます。
※残念ながらmakeは日本語対応してません。でも難しいことはやらないので安心してください。

Hosting Region のところは「US」にしておくことをおすすめします。

シナリオの作成

makeでアカウントができたら、サインインしてダッシュボードにいきます。(その前に認証の手続きがあると思いますが、済ませておきましょう。)
makeではアプリとアプリをつないで実行するための一連の流れをシナリオと呼んでいます。
人によってはワークフローと言った方がしっくりくるかもしれません。
シナリオを作成するには画面右上にある「Create a new scenario」ボタンをクリックします。

シナリオの作成画面から真ん中の丸に+のボタンをクリックして、Google Sheetsを選択します。

次に下へスクロールして、Search Rowsを選択します。

次にGoogleと連携するためにAddボタンを押して、Googleにログインをします。

お持ちのGoogleアカウントを選んで先に進めると簡単にコネクションが作成されます。

Google Sheetsの設定は下図のとおりに設定してください。

Filterの部分は下のコードのコピペしてください。

{{formatDate(now; "YYYY-MM-DD")}}

Datetime operators: Equal to のところは注意が必要です。似たものがあるのでまったく同じものを見つけて選んでください。

設定ができたらOKボタンをクリックします。

XのAPIキー取得

今度はXの開発者プラットフォームでAPIキーを取得します。(すでに持っている方は飛ばしてください)

ダッシュボードから「+ Add App」ボタンをクリックします。

Appの名前は適当に入れてください。

API Key, API Secret, Bearer Tokenが表示されるので、コピーして人に見られないように保存します。

今度はUser authentication settings の設定をしますので Set up ボタンをクリックします。

次に開く画面では、下図のようにチェックボックスにチェックを入れます。

App infoのところはmakeのマニュアルページにあるものを入力します。

https://www.make.com/en/help/app/twitter

Callback URIのところ(2カ所)には下記のURLを入力します。

https://www.integromat.com/oauth/cb/twitter2

https://www.integromat.com/oauth/cb/twitter

Website URL のところには下記のURLを入れます。

https://www.integromat.com/oauth/cb/twitter

そのほかの欄は空欄のままでいいので Save ボタンをクリックします。

Client IDと Client Secret が発行されるのでこれらもまたコピーしてしっかり保存しておきます。この2つのデータはこの後すぐに使います。
保存ができたら Done ボタンをクリックします。
再度確認のウィンドウが出てきますが、これはそのままYes, I saved it ノボタンを押します。

makeでXの設定をする

これでやっとmakeでXの設定ができるようになりました。
再度makeのサイトへ行って作業を続けます。
シナリオを使いするために画面上で右クリックして Add module をクリックします。

リストの中からX(formerly Twitter)を選びます。

次はXにどの仕事を実行させるのかを選択しますが、今回は自動的に投稿をしたいので Create a Post を選びます。

Xのモジュールが作成されます。
このモジュールがXへ投稿するための認証が必要なので、さっき取得したClient IDとClient Secretを設定します。

上図のAdd ボタンをクリックして、先ほど取得したClient IDとClient Secretを入力します。

Save ボタンを押すとウィンドウが開いて確認を求めてくるので、Yes でそのまま進めます。

Xでアクセス許可をして設定は完了です。

これでXとのコネクションが完了しました。あともう一息です。

上記の図のようにText Contentの欄に「投稿[B]」が入った状態でOKボタンを押して設定は完了です。
makeは自動的に保存はしてくれないので、何か変更したときは保存をすることを忘れないでください。

保存は画面下の一番左のボタン

念のためテストをしておきましょう

ひととおり設定が終わったら、実際に動くかどうかテストしておいた方がよいでしょう。
テストをするには画面左下のRun once ボタンを押します。

これで実際にXに自分の投稿が表示されているか確認して、ちゃんと投稿されていたら成功です。
最後に投稿する時間を設定しておきます。


デフォルトでは15分おきにこのプログラムを動かす設定になっていますが、今回作ったのは、基本的に1日1回だけの投稿をするものなので、毎日1回だけの発動でOKです。

画面左下のスケジュールの設定ボタンをクリックして、実行を Every day にして、時間は投稿したい時間に合わせます。
画面は毎日朝8時に発動する設定です。

そして SCHEDULING のスイッチがOFFになっているところを ON に切り替えて保存をしておきます。
これでほったらかしでもGoogle Sheetsに保存された投稿が毎日自動的に投稿されます。

うまく動かない場合

うまく動かないときは以下の点を再確認してみてください。

  • プレミアム会員でないのに140文字を超える長文がセル内に入力されてないか

  • Google Sheetsの日付の表示形式が正しいか(2024-08-15)のようにハイフンで区切る

  • makeのGoogle Sheets モジュールの設定が正しくされているか

正しく設定をしたつもりでも保存のし忘れなどで正しく設定されていない場合があります。
この記事の内容と照らし合わせて確認してみてください。


makeを使うとノーコードで割と簡単にオートメーション化ができてしまいます。
makeにはほかにもたくさんのコネクションの組み合わせがあるので、いろいろ試してしてみてください。

いいなと思ったら応援しよう!