IG Harnessを5分でセットアップする
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 を作成
- Meta for Developers → アプリを作成
- ユースケース: Other → Consumer(または IG messaging/content management)
- アプリ名を入力して作成
- 以下をメモ:
- App ID(設定 → ベーシック)
- App Secret(設定 → ベーシック)
- Instagram App Secret(Instagram → API設定)
📸 スクショ反映中: Meta Developer Console のアプリ作成画面
Step 2: Instagram テスターを追加
- Meta App → Roles → Roles → Add Instagram Testers
- 自分のInstagramアカウントを追加
- Instagramアプリ を開く → 設定 → アカウント → アプリとウェブサイト → テスター招待を承認
📸 スクショ反映中: Instagram テスター招待の承認画面(モバイルアプリ)
重要: モバイルのInstagramアプリから承認する必要があります。ウェブからはできません。
Step 3: アクセストークンを取得
- Meta App → Instagram → API setup
- Generate token → 自分のIGアカウントを選択
- 表示されるトークンをメモ
- 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.toml の database_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 で設定
- Meta App → Webhooks → Instagram を選択
- Callback URL:
https://your-worker.workers.dev/webhook - Verify token: Step 4で設定した
IG_VERIFY_TOKENの値 - 以下のフィールドをサブスクライブ:
messagesmessaging_postbackscommentslive_commentsmentions
📸 スクショ反映中: 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 → Instagram → API setup → Primary 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: 最初のエンゲージメントゲートを作成
- 投稿にコメントキーワードを設定(例: 「プレゼント」)
- 条件: フォローしている
- リワード: 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連携ガイド を参照してください。
コメント (0)
コメントするにはログインしてください。