Instagram 連携セットアップ手順 (まるごとSNS)

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

運用モードは 2 通り

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

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


重要な前提

まるごとSNS の 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 で公開

まるごとSNS では 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 (永続) — これが まるごとSNS が保存するトークン

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


6. まるごとSNS 管理画面での設定

Instagram は お客様ご自身の Meta アプリ (テストユーザー運用) を登録していただく 構成です。他の SNS と違い、お客様の管理画面から直接 App ID / App Secret を登録できます(他の SNS は弊社で設定済みのため登録は不要です)。

6-1. 自分の App ID / App Secret を登録する

  1. 左メニューの 「設定」(組織設定) を開きます。
  2. 「外部サービス設定」 の中の Instagram 行で、モードを 「この組織独自」 に切り替えます。
  3. 入力欄が開くので、§3.3 で控えた App IDApp Secret を入力し 「保存」 を押します。
  4. 「組織独自設定が入力済みです」と表示されれば登録完了です。
App ID / App Secret は Fernet 暗号化して保存され、お客様の組織の中だけで使われます(他の組織からは参照できません)。「全体設定」に戻すと弊社の共通アプリを使う設定になります。

6-2. Instagram アカウントを連携する

  1. 同じ 組織設定SNS アカウント管理 で、Instagram 行の 「+ Instagramアカウントを追加」 ボタンを押します。
  2. アカウント名を入力すると Facebook の OAuth 画面に遷移します。投稿対象の Facebook ページと Instagram アカウントを選択して承認してください。
  3. まるごとSNS に戻ると Page Access Token が保存され、利用可能になります。
  4. プラン編集画面(または新規プラン追加ウィザード)の Instagram を有効化すれば、スケジュールに沿って自動投稿が始まります。
This app is still in development」が出る場合は、連携に使う Facebook アカウントが §3.5 の Tester Role に招待・承認されているかをご確認ください。

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 にならなかった 動画サイズ・比率を確認。まるごとSNS 側で自動リトライ (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 分離されています。