✿ この記事で分かること
- Makeでの自動投稿が失敗した原因
- 相談相手をCursorに変えて作った手順書
- Scheduler・Search Rows・Buffer・Update a rowの設定と、よくあるエラー

前回、デジタル迷子おばさんシリーズとしてこの記事を書きました。
https://note.com/naomistyle/n/nf728fe9ba52e
何も知らない素人がMakeを丸腰で触るとどうなるか、を書いたわけです。
この記事の最後は・・・
とりあえず、明日自動投稿がうまくいくのか、行方を見守りたいです。
実は余り信じていませんwww
でした。
そう、やっぱり失敗でしたwwww
今回は何がいけなかったのかを明らかにし、しっかり情報を書いておきます。
- 相談相手をCursorに変えた。
- Cursorのまとめてくれた手順
- Makeでスプレッドシートからランダムに1件SNS投稿自動化完全手順
- 概要
- 事前準備(スプレッドシート)
- シナリオ全体の流れ
- 図解(シンプル版)
- 1. Scheduler(毎日1回の自動実行)
- 2. Google Sheets:Search Rows(通常版)
- 設定
- Filter(未投稿だけ取得)
- Order by(ランダム抽選)
- 3. Run once(出力サンプルを作る)
- 4. Buffer:Create a status update
- Text欄(投稿本文)
- 5. Google Sheets:Update a row
- Row number(最重要)
- Values(更新する列)
- 6. テスト時の注意(重要)
- 【私】ここ超重要!!!ここをやってなかったのでエラー出ました。
- 便宜上のテスト手順
- 7. よくあるエラーと対処
- DuplicateDataError(同じ内容を投稿しようとした)
- Row number が空で失敗する
- 8. 本番運用のポイント
- なんとおおおおおお!できたああああああああああああああ!
相談相手をCursorに変えた。
まず、相談相手をGeminiからCursorに変えました。
理由①思考モードにしてたら切れたw
理由②課金しているし、プログラミングが得意っぽいイメージがした。
これが当たりだったかもしれない。
でも説明が一気に流れてしまって情報量多すぎて余計に混乱。
なので、Cursorに新規ファイルでわかりやすくまとめてもらいました。
以下、Cursorのまとめですが、私のコメント入れますw
Cursorのまとめてくれた手順
Makeでスプレッドシートからランダムに1件SNS投稿自動化完全手順
概要
Googleスプレッドシートの未投稿データからランダムに1件を選び、SNS(Buffer経由)へ自動投稿し、投稿済みとして更新する手順です。初心者向けに省略なしで記載しています。
事前準備(スプレッドシート)
以下の列構成を前提にします。
A列:記事タイトル
B列:URL
C列:空欄(予備)
D列:投稿済みフラグ(空=未投稿/済=投稿済み)
F列:ランダム値 =RAND() 【私】これにしたら数字になった。なんで?www放置したけどw
シナリオ全体の流れ
Scheduler(毎日1回実行)
Google Sheets:Search Rows(通常版)
Buffer:Create a status update
Google Sheets:Update a row
図解(シンプル版)
[Scheduler]
|
v
[Google Sheets: Search Rows]
| 取得: D列が空の行 / F列でランダム抽選 / 1件
v
[Buffer: Create a status update]
| 投稿: 「一言 + タイトル + URL」
v
[Google Sheets: Update a row]
| 更新: D列=済, E列=now1. Scheduler(毎日1回の自動実行)
【私】この順番ではありません。めっちゃ不親切な順番です。正確に言えば、2番のモジュールを作れば結果的に左下に時計のマークのアイコンがくっつくので、その時計マークを設定すればいいです。つまり時計マークがスケジューラーになります。なんで1番を「スケジューラー」にするんでしょう。不思議でなりません。
モード:Every day
時間:任意(例:09:00)

2. Google Sheets:Search Rows(通常版)
設定
Search Method:Select from My Drive
Spreadsheet:対象のスプレッドシート
Sheet Name:記事リストのシート
Table contains headers:Yes
Column range:`A-F`(F列まで含める) ※私はA-Z
Filter(未投稿だけ取得)
左の列:`投稿済み (D)`
演算子:`Not equal to`
値:`済`
Order by(ランダム抽選)
Order by:`ランダム (F)`
Sort order:`Descending`
Limit:`1`

3. Run once(出力サンプルを作る)
Search Rows の出力を作るために必須です。
シナリオ画面に戻る
Run once をクリック
Search Rows が 1件以上返っていることを確認
※ Search Rows が0件だと、後続の「Row number」が空になりエラーになります。
【私】すみません。ここ覚えてないですwやってないかもw

4. Buffer:Create a status update

Text欄(投稿本文)
以下の形にします。固定文+タイトル+URLです。
今日のおすすめ👇
{{記事タイトル}}
{{URL}}実際の操作

Text欄をクリック
「今日のおすすめ👇」を手入力
改行
右側のデータツリーから
`Search Rows → 記事タイトル(A)` を挿入改行
`Search Rows → URL(B)` を挿入
5. Google Sheets:Update a row

Row number(最重要)
Row number に
`Search Rows → Row number` を入れる
※「bundle」全体を入れるのはNG。必ず Row number を選ぶ。
Values(更新する列)
投稿済み (D):`済`
日時 (E):`now`
A/B/Cは空でOKです。
大事なところだけ貼り付けます。

6. テスト時の注意(重要)
【私】ここ超重要!!!ここをやってなかったのでエラー出ました。
便宜上のテスト手順
テスト時は便宜上、D列に「済」を全行に入れ、空欄の行を1つだけ作成してから実行すると確実です。
テスト終了後は、D列をすべて空欄に戻して運用してください。
7. よくあるエラーと対処
DuplicateDataError(同じ内容を投稿しようとした)
Buffer側の仕様です。以下のどれかで解決します。
投稿文の先頭に一言を追加(例:「今日のおすすめ👇」)
しばらく時間を空けて再実行
別の記事が選ばれるようにD列の空欄を増やす
Row number が空で失敗する
Search Rows が 0件 のときに起きます
D列が空の行を1件以上用意してから Run once を実行してください
8. 本番運用のポイント
D列が空の行が「未投稿」
投稿が成功するとD列が「済」になり、次回は選ばれない
これで「1日1回ランダム投稿」が安定して動きます。
なんとおおおおおお!できたああああああああああああああ!

一回Run once押してエラー出なかったのでOK!
SNS見るとできてる!
以下の部分をやったので、できたといってもいいでしょう。
誰も教えてくれず、Cursorにしつこくきいてみると、そういうことをおしえてくれました。

丸腰でもできたぞ!
次に何の自動化をしようか、考えてますwwww
その前に・・・・
もちょっと勉強してから挑んだ方が良いかもしれませんw



コメント