Instagram API 自動投稿セットアップガイド

API の実行は Claude Code が担当します。
このガイドでは、Claude Code に渡すための「準備」を整える手順をまとめました。

目次

  1. 全体像と必要なもの
  2. アカウントの準備
  3. Facebookページとの連携
  4. Meta for Developers アプリ作成
  5. Instagram Graph API の有効化
  6. アクセストークンの取得
  7. Instagram Business Account ID の取得
  8. 投稿の依頼方法(Claude Code への指示)
  9. 投稿種別ごとの指示例
  10. 本番運用に向けたアプリレビュー
  11. よくあるつまずきポイント

0全体像と必要なもの

Instagram の自動投稿は Instagram Graph API(Meta社提供)を経由して行います。Instagram単体では完結せず、必ず FacebookページMeta開発者アカウント を経由する仕組みです。

API を直接叩くのは Claude Code が担当します。Claude Code に渡すための情報(トークンとID)を画面操作で準備すれば、あとは「リール投稿して」「画像投稿して」と日本語で指示するだけで投稿できる状態になります。

必要なものチェックリスト

項目 用途 備考
Instagramアカウント必須 投稿先 個人アカウントは不可。ビジネスまたはクリエイターに切替が必要
Facebookアカウント必須 連携の起点 個人アカウントでOK
Facebookページ必須 Instagramと紐付け FB上で新規作成可(無料)
Meta開発者アカウント必須 アプリ作成 Facebookアカウントから登録
Claude Code必須 API実行・投稿の自動化 取得したトークンとIDを .env に保存して使う
ポイント Instagramの自動投稿は「Instagramのアプリで完結」しません。
Facebook ⇄ Instagram ⇄ Meta開発者アプリ という三角関係を作る必要があります。

1アカウントの準備

1-1. Instagramをビジネスアカウントに切替

  1. Instagramアプリ → プロフィール → 三本線メニュー → 設定とプライバシー
  2. 「アカウントの種類とツール」→「プロアカウントに切り替える」
  3. カテゴリを選択し「ビジネス」を選ぶ

1-2. Facebookアカウントの準備

Facebookアカウントを持っていない場合は facebook.com から新規登録します。

2Facebookページとの連携

  1. Facebookページを作成(無料、ジャンルは何でもOK)
  2. Facebookページの「設定」→「リンクするアカウント」→ Instagram を接続
  3. Instagram側にログインして連携を承認
注意 Instagramを「ビジネスアカウント」にしている場合のみ、Graph API での投稿が可能になります。クリエイターでも投稿系APIは使えますが、機能差があります(ビジネス推奨)。

3Meta for Developers アプリ作成

  1. developers.facebook.com にFacebookアカウントでログイン
  2. 右上「マイアプリ」→「アプリを作成」
  3. ユースケースは 「ビジネス」 を選択
  4. アプリ名・連絡先メールを入力して作成

4Instagram Graph API の有効化

  1. 作成したアプリのダッシュボード左メニュー「製品」を開く
  2. 「Instagram Graph API」を セットアップ
  3. 同様に「Facebook Login for Business」も追加(トークン取得に必要)

必要な権限スコープ

権限名 用途
instagram_basic プロフィールやメディアの読み取り
instagram_content_publish 投稿(コンテンツの公開)
pages_show_list 連携されたFacebookページ一覧の取得
pages_read_engagement ページ情報の読み取り
business_management ビジネスアカウント情報の取得

5アクセストークンの取得

ここで取得した 長期トークンを Claude Code に渡せば、以降の投稿は全自動化できます。

5-1. 短期トークン(1〜2時間)を画面で取得

  1. Graph API Explorer を開く
  2. 右上のアプリ選択でステップ3で作ったアプリを選ぶ
  3. 「Generate Access Token」をクリック
  4. 必要な権限(前項のリスト)にチェックを入れて承認
  5. 表示されたトークン文字列をコピーしておく

5-2. 長期トークン(60日)への変換は Claude Code に依頼

短期トークンを Claude Code に渡して、以下のように指示するだけでOKです。

「Instagram の長期アクセストークンを取得して .env に保存して。
 短期トークンは {コピーした文字列} 。
 アプリIDとシークレットは Meta for Developers の
 アプリダッシュボード『設定 → ベーシック』から取得して。」

Claude Code が裏で以下のような API を叩いてトークンを取得・保存します。

# Claude Code が裏で実行する内容(参考)
GET https://graph.facebook.com/v21.0/oauth/access_token
  ?grant_type=fb_exchange_token
  &client_id={APP_ID}
  &client_secret={APP_SECRET}
  &fb_exchange_token={SHORT_LIVED_TOKEN}
Tip 長期トークンは60日で失効します。「トークンを更新して」と Claude Code に依頼するか、定期実行スクリプトを Claude Code に組んでもらえば自動更新できます。

6Instagram Business Account ID の取得

投稿APIには「アプリのID」ではなく Instagram Business Account ID が必要です。これも Claude Code に取得させます。

長期トークンが .env に保存されたあと、こう指示するだけでOK。

「Facebookページ一覧を取得して、連携されている Instagram Business Account ID を
 .env に IG_USER_ID として保存して。」

Claude Code が裏で以下を実行します。

# 1. 連携先のFacebookページIDを取得
GET /me/accounts

# 2. ページに紐付く IG Business Account ID を取得
GET /{page-id}?fields=instagram_business_account
準備フェーズはここまで .envIG_ACCESS_TOKENIG_USER_ID が揃ったら、 画面操作する作業は完了です。以降の投稿はすべて Claude Code に日本語で指示します。

7投稿の依頼方法(Claude Code への指示)

準備が完了したら、 Claude Code に投稿内容を伝えるだけです。

指示の例

「~/Desktop/today.jpg をインスタにフィード投稿して。
 キャプションは下記、ハッシュタグもつけて。
 ---
 今日の作業デスク☕️
 #インスタ運用代行 #リベシティ」

Claude Code が裏で行う処理

Instagram Graph API は 2段階フローで投稿する仕組みです。Claude Code がこれを自動でこなします。

① 画像を公開URLにアップロード

Instagram API は インターネットからアクセス可能な画像URLしか受け付けません。Claude Code がローカル画像を S3 / Cloudflare R2 / GitHub Pages などにアップロードして公開URLを生成します。

② メディアコンテナ作成

POST /{IG_USER_ID}/media
  ?image_url={公開URL}
  &caption={キャプション}
  &access_token={TOKEN}
# レスポンス: { "id": "{creation-id}" }

③ コンテナを公開

POST /{IG_USER_ID}/media_publish
  ?creation_id={creation-id}
  &access_token={TOKEN}
上記のAPI呼び出しは Claude Code がすべて引き受けます。指示するときは「投稿して」だけでOK。

8投稿種別ごとの指示例

種別を変えたい場合は、Claude Code への一言で切り替わります。media_type 等の技術的な指定は Claude Code 側が判別します。

種別 指示の例 仕様
フィード画像 「画像を投稿して」 1:1 推奨
フィード動画 「動画を投稿して」 処理完了待ちあり(Claude Codeが自動でポーリング)
カルーセル 「この3枚を1投稿でカルーセルに」 最大10枚
リール 「リールで投稿して」 動画のみ。縦長(9:16)推奨
ストーリーズ 「ストーリーズに上げて」 24時間で消える
定期投稿もお任せ 「毎週月曜の朝9時に ~/posts/ から1枚選んで自動投稿して」のように依頼すれば、Claude Code が cron / GitHub Actions 等のスケジュール実行を組んでくれます。

9本番運用に向けたアプリレビュー

Meta for Developers のアプリには「開発モード」と「ライブモード」があります。

モード 挙動
開発モード アプリの管理者・開発者・テスターのアカウントのみAPIが使える
ライブモード 全ユーザーが利用可。アプリレビュー(審査)が必要
個人運用なら審査不要 自分のInstagramアカウントだけで運用するなら、開発モードのままで問題ありません。
他人のアカウントにも投稿させるサービスを作る場合のみ、ライブモード+アプリ審査が必要です。

!よくあるつまずきポイント

準備フェーズで起きがちなエラーと対処です。投稿フェーズのエラーは Claude Code が読み取って自動で対応します。