1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Googleスプレッドシートを利用したX(Twitter)の予約投稿自動化

Posted at

TL;DR

  • X(Twitter)でネタをあらかじめ用意しておき、予約投稿したい
  • 予約投稿のツールを調べたが、有料のものが多くしっくりこなかった
  • Googleスプレッドシートでネタを管理してMakeで自動投稿するツールを自作した

できること

投稿テキストの準備

投稿テキストはあらかじめ、Googleスプレッドシートにリストアップしておきます。

image.png

列Aは連番、列Bが実際の投稿テキストです。

Makeの起動

Makeのシナリオを起動します。

image.png

投稿結果の確認

無事1番のテキストが投稿されました。

image.png

投稿番号の管理

投稿する番号を管理するために、こんなシートを用意しています。

image.png

Makeのシナリオは時間起動で定期的に実行され、その度に「次の投稿番号」が1ずつ加算されていきます。
「この番号に来たら最初に戻る」の投稿番号に来たら、1番の投稿番号に戻ります。
これで半永久的に投稿を自動化することができます!

作り方

全体像

Makeのシナリオの全体像はこんな感じです。

image.png

投稿テキストの取得

最初のステップはGoogle SheetsのGet a Cellを使用して、「次の投稿番号」を取得します。

image.png

スプレッドシートのセルC3を取得しています。
image.png

投稿リストシートから対応する番号の投稿テキストを取得します。これもGoogle SheetsのGet a Cellを使用。

image.png

スプレッドシートの列Bから投稿テキストを取得しています。
image.png

投稿

XのTwitter APIを使用して、テキストを投稿します。

image.png

このステップについては、以前作成したこちらの記事を参考にしてください。

ログの記録

Google SheetsのAdd a Rowを使用して、投稿ログをログシートに記録します。
image.png

ValueはPostIDとタイムスタンプだけマッピングしました。
image.png

こんな感じでログが記録されていきます。
image.png

将来的には、インプレッションなどの分析値も記録できると良いなと思いました。
しかし、アナリティクスデータ自動取得機能のご利用には、Twitter APIの有料プランに加入する必要があるそうです・・・

次の投稿番号の更新

まずは、「この番号に来たら最初に戻る」を取得。
image.png

このスプレッドシートのセルC4ですね。
image.png

この後はRouterを使って分岐してます。

image.png

「この番号に来たら最初に戻る」=<「次の投稿番号」
の場合、「次の投稿番号」はリセットする必要があるので、1に更新。
image.png

それ以外の場合は、「次の投稿番号」は1を加算。

image.png

parseNumberを使用して、Text形式の値を数値形式に変換する必要があることに注意してください。

感想

  • Webアプリ化もやってみたい。
  • Twitterアナリティクスのデータも取れるようにしたい。
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?