やはり失敗!自動化ツールMakeとの激しい闘いは果てしなく続き・・・とうとう・・・

前回、デジタル迷子おばさんシリーズとしてこの記事を書きました。

https://www.naomi-sensei.com/n/nf728fe9ba52e

何も知らない素人がMakeを丸腰で触るとどうなるか、を書いたわけです。
この記事の最後は・・・

とりあえず、明日自動投稿がうまくいくのか、行方を見守りたいです。

実は余り信じていませんwww

でした。

そう、やっぱり失敗でしたwwww

今回は何がいけなかったのかを明らかにし、しっかり情報を書いておきます。

相談相手をCursorに変えた。

まず、相談相手をGeminiからCursorに変えました。

理由①思考モードにしてたら切れたw
理由②課金しているし、プログラミングが得意っぽいイメージがした。

これが当たりだったかもしれない。
でも説明が一気に流れてしまって情報量多すぎて余計に混乱。
なので、Cursorに新規ファイルでわかりやすくまとめてもらいました。

以下、Cursorのまとめですが、私のコメント入れますw


Cursorのまとめてくれた手順

Makeでスプレッドシートからランダムに1件SNS投稿自動化完全手順

概要

Googleスプレッドシートの未投稿データからランダムに1件を選び、SNS(Buffer経由)へ自動投稿し、投稿済みとして更新する手順です。初心者向けに省略なしで記載しています。


事前準備(スプレッドシート)

以下の列構成を前提にします。

  • A列:記事タイトル

  • B列:URL

  • C列:空欄(予備)

  • D列:投稿済みフラグ(空=未投稿/済=投稿済み)

  • F列:ランダム値 =RAND() 【私】これにしたら数字になった。なんで?www放置したけどw


シナリオ全体の流れ

  1. Scheduler(毎日1回実行)

  2. Google Sheets:Search Rows(通常版)

  3. Buffer:Create a status update

  4. 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列=now

1. 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`

実物です。Save押してね!!!!!!!

3. Run once(出力サンプルを作る)

Search Rows の出力を作るために必須です。

  1. シナリオ画面に戻る

  2. Run once をクリック

  3. Search Rows が 1件以上返っていることを確認

※ Search Rows が0件だと、後続の「Row number」が空になりエラーになります。
【私】すみません。ここ覚えてないですwやってないかもw

左がRun once。ちなみに真ん中のフロッピーみたいなアイコンも一番最後に押しました。


4. Buffer:Create a status update

これを+を押して出してください。Bufferのアカウント取ってSNS連携はしておいてね。

Text欄(投稿本文)

以下の形にします。固定文+タイトル+URLです。

今日のおすすめ👇
{{記事タイトル}}
{{URL}}

実際の操作

Text欄の一行目には「今日のおすすめ」って書いた方が良い感じです。
  1. Text欄をクリック

  2. 「今日のおすすめ👇」を手入力

  3. 改行

  4. 右側のデータツリーから
    `Search Rows → 記事タイトル(A)` を挿入

  5. 改行

  6. `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です。

大事なところだけ貼り付けます。

Save押してね。


6. テスト時の注意(重要)

【私】ここ超重要!!!ここをやってなかったのでエラー出ました。

便宜上のテスト手順

  • テスト時は便宜上、D列に「済」を全行に入れ、空欄の行を1つだけ作成してから実行すると確実です。

  • テスト終了後は、D列をすべて空欄に戻して運用してください。


7. よくあるエラーと対処

DuplicateDataError(同じ内容を投稿しようとした)

Buffer側の仕様です。以下のどれかで解決します。

  • 投稿文の先頭に一言を追加(例:「今日のおすすめ👇」)

  • しばらく時間を空けて再実行

  • 別の記事が選ばれるようにD列の空欄を増やす

Row number が空で失敗する

  • Search Rows が 0件 のときに起きます

  • D列が空の行を1件以上用意してから Run once を実行してください


8. 本番運用のポイント

  • D列が空の行が「未投稿」

  • 投稿が成功するとD列が「済」になり、次回は選ばれない

  • これで「1日1回ランダム投稿」が安定して動きます。


なんとおおおおおお!できたああああああああああああああ!

真ん中のフロッピーマークを押してRun once押す。

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

丸腰でもできたぞ!
次に何の自動化をしようか、考えてますwwww

その前に・・・・

もちょっと勉強してから挑んだ方が良いかもしれませんw

コメント

タイトルとURLをコピーしました