Instagram 連携セットアップ手順 (ViralForge)

本書は ViralForge で Instagram への自動投稿 (Feed / Reel / Carousel) を有効化するための、クライアント様側の作業手順です。

運用モードは 2 通り

モード App Review Business Verification 投稿可能な IG アカウント 所要期間
テストユーザー運用 (推奨初期構成) 不要 不要 App 管理者 + Tester Role に追加した IG アカウントのみ 30 分〜半日
公開サービス運用 必須 (instagram_content_publish 等) 必須 任意の Instagram Business アカウント 2 週間〜1 ヶ月

自社 SNS 運用や顧客少数に限定する用途であれば テストユーザー運用で十分 です。本書はまずテストユーザー運用を前提に進め、公開サービス化したい場合の追加手順を §4 にまとめます。


重要な前提

ViralForge の Instagram 連携は Instagram Graph API (Facebook Graph API 経由) を使用します。Instagram Basic Display API ではありません

必須条件:

個人アカウントの場合は、Instagram アプリ内 設定 → アカウント → プロアカウントに切り替える で Business に変換してください。


1. 仕組み概要

Instagram Graph API への投稿は 3 step:

  1. Media Create / Container 作成 — 画像・動画 URL と caption を Meta に渡し container ID を受け取る
  2. Status Polling (Reel / Carousel のみ) — 非同期処理完了を status_code = FINISHED まで待機
  3. Publish — container ID を指定して /media_publish で公開

ViralForge では services/instagram_client.py が自動実行します。

対応する投稿タイプ

タイプ 説明 上限
Feed 静止画 1 枚 + caption JPEG 8MB、比率 4:5 / 1:1 / 1.91:1
Reel 縦型動画 + caption MP4 1GB 以内、3〜90 秒、9:16 推奨
Carousel 画像 + 動画 混在可能 最大 10 media

2. 事前準備チェックリスト

テストユーザー運用で必須

公開サービス運用で追加必須


3. Meta Developers で App 作成

3.1. App 作成

  1. https://developers.facebook.com/ にログイン
  2. My Apps → Create App
  3. Use case = Other、App type = Business
  4. App 名、連絡先メール、紐づける Business Portfolio を入力

3.2. Products の追加

App Dashboard 左メニュー Add Products から:

3.3. App ID / App Secret の確認

App Settings → Basic から App ID (数値) と App Secret (Show ボタンで表示) を控えます。App Secret は第三者に共有しないでください

3.4. Permissions

必要な権限 4 つ:

テストユーザー運用: Standard Access のまま Tester Role で招待したユーザーに対してすべて動作。App Review 不要。

公開サービス運用のみ: App Review → Permissions and Features から Request Advanced Access で申請 (§4 参照)。

3.5. Tester Role 追加 (テストユーザー運用の核心)

  1. App Dashboard 左メニュー App Roles → Roles
  2. Testers タブで Add Testers
  3. 投稿対象 IG にリンクされた Facebook ページ管理者の Meta Developer アカウントを招待
  4. 招待された本人側で https://developers.facebook.com/requests/ にアクセスし Accept Tester Invitation

OAuth は招待 Accept したユーザーで行う必要があります。他ユーザーでログインすると This app is still in development エラーになります。


4. 公開サービス運用のみ: App Review + Business Verification

テストユーザー運用で十分な場合は §4 はスキップしてください

4.1. App Review

instagram_content_publish 等の Advanced Access を一般公開 IG アカウントに対して使うには App Review 通過が必要。提出物:

審査は通常 3〜7 営業日、差し戻しで 2〜3 往復、全体 2〜4 週間を見込んでください。

4.2. Business Verification

Meta Business Manager の https://business.facebook.com/settings/security から Start Verification。法人登記簿謄本 / 納税証明書 / 公共料金請求書などを提出。審査 3〜14 日程度。


5. Access Token の仕組み

Instagram Graph API のトークンは 3 段階で交換されます。

  1. Short-lived User Token (1 時間)
  2. Long-lived User Token (60 日)
  3. Page Access Token (永続) — これが ViralForge が保存するトークン

この交換は ViralForge が自動で行います。運用者は OAuth ボタンを押すだけです。


6. ViralForge 管理画面での設定

ViralForge の Instagram 連携は、全体設定 (Admin) に登録した Instagram App を organization 経由で OAuth 接続する構成です。

  1. Admin が 全体設定 → SNSアプリ認証 → Instagram に §3.3 の App ID / App Secret を登録 (済の場合はスキップ)
  2. 組織ユーザーは 組織設定 を開き、Instagram 行の 「+ Instagramアカウントを追加」 ボタンを押下
  3. アカウント名を入力すると Facebook の OAuth 画面に遷移。対象 Facebook ページと Instagram アカウントを選択して承認
  4. ViralForge に戻ると Page Access Token が保存され、組織内で利用可能になります
  5. プラン編集画面の Instagram タブを有効化

7. 投稿制限


8. よくあるエラー

エラー 原因 対処
OAuthException (code 190) Access Token 期限切れ / 失効 組織設定から再認証。Page Token は通常永続だがパスワード変更等で失効する
This app is still in development 認証ユーザーが Tester Role に未追加 §3.5 の手順で招待 + Accept
Business Discovery Feature Limited 公開サービス運用で App Review 未通過 審査申請状況を確認 (テストユーザー運用なら不要)
Media ID not found Reel/Carousel の container が publish 前に ready にならなかった 動画サイズ・比率を確認。ViralForge 側で自動リトライ (30 秒 polling × 最大 5 回)
Rate limit exceeded 24h 50 post 超過 スケジュール見直し、1 時間以上空ける
Not an Instagram Business Account 個人アカウントのまま Business / Creator に切り替えて再リンク

9. セキュリティ

App Secret / Page Access Token は Fernet 暗号化で DB 保存、multi-tenant 分離されています。