Threadsを複数つないだあと、アカウントを切り替えるだけで、それぞれのThreadsの数字がダッシュボードに出るようにします。
Instagramのアカウントを2つ以上ポチリプに登録して運用している場合のガイドです。
Threadsをひとつしか使わないなら、この作業は必要ありません。
ポチリプは、Threadsを複数つなぐことはできます。
でも、そのままだと分析に出てくる数字は、いつも最初につないだThreadsのままです。
アカウントを切り替えても、Threadsの数字だけ変わらない。
これを、切り替えたアカウントの数字がちゃんと出るようにします。
最初にここをやります。文をコピーして貼るだけ。10〜20分ほどで終わります。
claude と打つポチリプを「Instagramのアカウントごとに、別のThreadsの数字を出せる」形に直してください。 いまはThreadsを複数つないでも、読み出しがいつも最初の1件(ORDER BY id LIMIT 1)に固定されているため、 アカウントを切り替えても同じThreadsの数字しか出てきません。 【前提】Cloudflare Workers + Hono + D1 のプロジェクトです。 触るのは src/index.ts、public/app.js、migrations/ の3か所。データベース名は wrangler.jsonc の d1_databases から読んでください。 【1】マイグレーションを1つ足す(例:migrations/0023_threads_per_account.sql) - threads_accounts に owner_account_id TEXT を追加する(このThreads連携がぶら下がるInstagramアカウント = accounts.ig_user_id) - 既存の連携行は accounts の一番小さいidの ig_user_id を入れて、最初のアカウントに帰属させる - media_insights のうち product_type = 'THREADS' で account_id が NULL の行も、同じく最初のアカウントに帰属させる 【2】src/index.ts を直す - ヘルパー activeThreadsAccount(c) を追加する。いま選択中のアカウント(既存の activeAccountId)に紐づく threads_accounts を1件返す - GET /auth/threads/callback:Cookie の iad_account で選択中アカウントを取り、無ければ最初のアカウントを使う。 同じ owner_account_id に別のThreadsが繋がっていたら先に DELETE してから INSERT する(1アカウント = 1Threads)。owner_account_id も保存する - GET /api/threads-account、POST /api/threads-account/refresh-token、DELETE /api/threads-account:どれも owner_account_id で絞る(削除も選択中アカウントの分だけ) - refreshInsightsCache:includeThreads の引数をやめて、渡されたIGアカウントに紐づくThreadsだけを扱う。 Threads行を media_insights に入れるときは account_id にそのThreadsの owner_account_id を入れる。 期限切れ行の掃除と、6時間キャッシュの更新対象の条件も account_id で絞る - GET /api/insights-analysis:Threads行も account_id で絞る(いまは全アカウント共通で表示されてしまっている)。件数を返す cacheInfo も同じ条件で絞る - GET /api/follower-stats:activeThreadsAccount を使う。フォロワー履歴のキーを threads:に変える。 ただし一番最初に連携したThreadsだけは、旧キー 'threads' の履歴も読めるようにフォールバックを付ける(過去の記録を失わないため) - GET /api/threads-insights/:mediaId:activeThreadsAccount を使う - processScheduledPosts:予約投稿の account_id に紐づくThreadsで公開する(アカウントごとのキャッシュを持たせる)。 account_id が入っていない古い予約は、最初のThreads連携で公開する - cron の scheduled:インサイト更新は各Instagramアカウントごとに回し、その中でそのアカウントのThreads分も更新する。 フォロワーの日次記録は、連携している全部のThreadsをループして threads: のキーで記録する 【3】public/app.js を直す - 接続設定のThreads連携の説明文に、次の内容を足す: 「Threadsの連携はアカウントごとに別々です。左下でアカウントを切り替えてから、そのアカウントで使うThreadsを連携してください。連携するときは、ブラウザのThreadsを繋ぎたいアカウントでログインしておくこと」 【4】反映まで済ませる - npx wrangler d1 migrations apply <データベース名> --remote - npx wrangler deploy - 反映後、既存の連携が消えていないか、いまのThreadsがどのアカウントに付いているかをデータベースで確認して報告してください 既存のデータは消さないでください。作業の前に、いまの threads_accounts と media_insights の中身を確認してから進めてください。
ここが、いちばんつまずくところです。申請を出す人と承認する人が別々なので、2画面を行き来します。
Metaの決まりで、アプリを使ってよいThreadsアカウントを名指しで登録しないと、つなげません。
この登録が「テスター」です。招待状を送って、送られた側が受け取る。それだけの話です。
ここを忘れる人がとても多いです。招待されたアカウント本人で操作します。
追加したアカウントの数だけ、この5つを繰り返します。
つなぐ作業そのものはボタン1つ。その前の準備で失敗します。
ポチリプは、そのときブラウザでログインしているThreadsをつなぎます。
だから、つなぐ前に次の2つを同じアカウントにそろえます。
2つ目・3つ目も、この画面のとおりに繰り返すだけです。
ここまで来たら完成です。見る場所だけ覚えてください。
フォロワー数と、7日・30日でどれだけ増えたかも、そのアカウントのものが出ます。
切り替えても、同じThreadsの数字のまま
1番が反映されていない可能性があります。Claude Codeに「wrangler deploy まで終わっているか確認して」と伝えてください。そのあとポチリプの画面を開き直す(スマホは一度タブを閉じる)と直ることもあります。
許可画面で「対象外」と出る
そのThreadsが承認をしていません。2番の後半に戻って、そのアカウントでThreadsにログインし、設定 → アカウント → ウェブサイトの権限、で承認してください。
つなぎたいのと違うアカウントがつながった
ブラウザのThreadsが前のアカウントのままだったのが原因です。3番の「そろえる手順」からやり直せば上書きされます。
Threadsテスターの欄が見つからない
Instagramテスターの欄と間違えていることが多いです。「アプリの役割」→「役割」の中に、Threads用の欄が別にあります。無い場合は、アプリにThreadsのユースケースが追加されていません。
数字が増えない・止まっている
分析の「データ更新」を押してください。それでも動かないときは、接続設定でThreadsの期限が切れていないか見てください。切れていたら、つなぎ直せば戻ります。