IG Harnessはじめに·

IG Harnessを5分でセットアップする

Shudesuのプロフィール画像

Shudesu

Author

IG Harness セットアップガイド

ManyChat / iステップの代替となるオープンソースInstagram DM自動化ツール。 コメントキーワードトリガー → フォロー確認 → DMでコンテンツ配信。

Cloudflare Workers + D1で動作。Meta APIは無料。


必要なもの

項目備考
Node.js 20+
pnpm 9+
Cloudflare アカウント無料プランOK
Instagram ビジネスアカウントプロフェッショナルアカウントに変更済み
Facebook アカウントIGビジネスアカウントと連携済み
Meta Developer アカウントdevelopers.facebook.com

Step 1: Meta App を作成

  1. Meta for Developersアプリを作成
  2. ユースケース: OtherConsumer(または IG messaging/content management)
  3. アプリ名を入力して作成
  4. 以下をメモ:
    • App ID(設定 → ベーシック)
    • App Secret(設定 → ベーシック)
    • Instagram App Secret(Instagram → API設定)

📸 スクショ反映中: Meta Developer Console のアプリ作成画面


Step 2: Instagram テスターを追加

  1. Meta App → RolesRolesAdd Instagram Testers
  2. 自分のInstagramアカウントを追加
  3. Instagramアプリ を開く → 設定 → アカウント → アプリとウェブサイト → テスター招待を承認

📸 スクショ反映中: Instagram テスター招待の承認画面(モバイルアプリ)

重要: モバイルのInstagramアプリから承認する必要があります。ウェブからはできません。


Step 3: アクセストークンを取得

  1. Meta App → InstagramAPI setup
  2. Generate token → 自分のIGアカウントを選択
  3. 表示されるトークンをメモ
  4. IG User ID もメモ(同じ画面に表示される)

📸 スクショ反映中: Instagram API setup のトークン生成画面


Step 4: リポジトリをクローン & デプロイ

git clone https://github.com/nicepkg/ig-harness.git
cd ig-harness
pnpm install

D1 & R2 を作成

npx wrangler d1 create instagram-harness
npx wrangler r2 bucket create instagram-harness-images

apps/worker/wrangler.tomldatabase_id を更新。

スキーマを適用

npx wrangler d1 execute instagram-harness --remote --file=packages/db/schema.sql

シークレットを設定

cd apps/worker
npx wrangler secret put IG_APP_SECRET       # Meta App Secret
npx wrangler secret put IG_ACCESS_TOKEN      # Step 3で取得したトークン
npx wrangler secret put IG_USER_ID           # Instagram User ID
npx wrangler secret put IG_VERIFY_TOKEN      # Webhook検証用(自分で決める文字列)
npx wrangler secret put API_KEY              # ダッシュボード認証用

デプロイ

npx wrangler deploy

Step 5: Webhook を設定

Meta Console で設定

  1. Meta App → WebhooksInstagram を選択
  2. Callback URL: https://your-worker.workers.dev/webhook
  3. Verify token: Step 4で設定した IG_VERIFY_TOKEN の値
  4. 以下のフィールドをサブスクライブ:
    • messages
    • messaging_postbacks
    • comments
    • live_comments
    • mentions

📸 スクショ反映中: Meta Webhook 設定画面(サブスクリプション一覧)

アカウントレベルのサブスクリプション登録(必須)

Meta Console の設定だけでは不十分です。APIから登録が必要:

curl -X POST "https://graph.instagram.com/v25.0/YOUR_IG_USER_ID/subscribed_apps" \
  -d "subscribed_fields=messages,messaging_postbacks,comments" \
  -d "access_token=YOUR_ACCESS_TOKEN"

⚠️ これを忘れるとDMが届きません。 Meta Console の設定だけでは動作しません。


Step 6: Primary Receiver に設定

Meta App → InstagramAPI setupPrimary Receiver を自分のアプリに設定。

これをしないと thread owner エラーが出てDM送信に失敗します。


Step 7: 動作確認

Webhook テスト

curl "https://your-worker.workers.dev/webhook?hub.mode=subscribe&hub.verify_token=YOUR_VERIFY_TOKEN&hub.challenge=test"

test が返ればOK。

DMテスト

別のInstagramアカウントから、自分のアカウントにDMを送信。Worker のログに受信が記録されるか確認:

npx wrangler tail

Step 8: 最初のエンゲージメントゲートを作成

  1. 投稿にコメントキーワードを設定(例: 「プレゼント」)
  2. 条件: フォローしている
  3. リワード: DMでコンテンツURL送信

ユーザーが投稿に「プレゼント」とコメント → フォロー確認 → DMでコンテンツ配信。


よくあるトラブル

問題対処
DMが届かないアカウントレベルのサブスクリプション登録(Step 5のAPI呼び出し)を確認
thread_owner エラーPrimary Receiver設定(Step 6)を確認
Webhookが反応しないIG_VERIFY_TOKEN が一致しているか確認
テスターが見つからないInstagramモバイルアプリから招待を承認しているか確認

LINE 連携(オプション)

IG Harness は LINE Harness とのクロスプラットフォーム連携に対応しています。 共通のUUIDでIG → LINE の友だち追加を促すことができます。

詳しくは LINE連携ガイド を参照してください。

#setup#instagram#cloudflare#meta#dm-automation
この記事が役に立ったら投票してください

コメント (0)

コメントするにはログインしてください。