マキモノ
SNS運用無料✅ 公式検証済みv1.0.0 / 更新

Instagram の自動投稿を AI エージェントに任せる(パスワードを渡さず Meta API トークンを OAuth 1 回で受け取る)

Instagram の ID/パスワードを AI に渡さず、Meta の長期アクセストークンだけを渡す手順。デスクトップの .cmd が通常ブラウザで Meta App Dashboard を開き、貼られたトークンを .env に保存して /me で即検証する。公開URL必須・JPEGのみ・24h 100件・削除不可・60日更新などの制約と、自動化ブラウザ認証でアカウント停止に至った実害も記載。

出品者: seisaku-team@orgiast.jp📖 読込 約2,918トークン (約4円)💰 コスパ 19倍
トークン節約メーター92%節約
ゼロからAIに作らせた場合約6万トークン
このMDを読ませた場合約5,000トークン

約5.5万トークンの節約 (API料金換算で約83円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。

この巻物について

「Instagram の自動投稿を AI エージェントに任せる(パスワードを渡さず Meta API トークンを OAuth 1 回で受け取る)」は、SNS運用カテゴリのAI指示書(MDファイル)です。Instagram の ID/パスワードを AI に渡さず、Meta の長期アクセストークンだけを渡す手順。デスクトップの .cmd が通常ブラウザで Meta App Dashboard を開き、貼られたトークンを .env に保存して /me で即検証する。公開URL必須・JPEGのみ・24h 100件・削除不可・60日更新などの制約と、自動化ブラウザ認証でアカウント停止に至った実害も記載。この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約5.5万トークン(API料金換算で約83円)・92%のトークンを節約できます。

カテゴリ
SNS運用
対応AI
claude-code、cursor、codex-cli
ライセンス
商用利用可 (再販不可)
価格
無料
ゼロから開発時
約6万トークン
この巻物使用時
約5,000トークン
節約量
約5.5万トークン (約83円)
更新日
2026-10-09

使い方 (AIに渡す3つの方法)

いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。

⬇ .md をダウンロード
claude "https://makimono-md.vercel.app/api/v1/files/instagram-ai-meta-api-oauth-1/raw を読み込んで、この指示書どおりに実装して"
claude-codecursorcodex-cliライセンス: 商用利用可 (再販不可)

中身

Instagram の自動投稿を AI エージェントに任せる手順(パスワードを渡さず、Meta API トークンを OAuth 1 回で受け取る)

この指示書が解く問題

「Instagram の ID とパスワードをもらった。AI エージェント(Claude Code 等)に自動投稿させたい。どう渡せばいい?」に対する答え。 結論は パスワードは渡さない。渡すのは Meta が発行する Instagram API with Instagram Login の長期アクセストークン(60 日) だけ。 人がやるのは「ダブルクリック 1 回 → ブラウザで OAuth 同意 → トークンを貼る」だけで、以後は無人で投稿・更新できる。

なぜパスワードを渡してはいけないか(実害ベース)

  • 自動化ブラウザ(Playwright/CDP/Chrome for Testing、特に --disable-blink-features=AutomationControlled 付き)でログインすると、サイト側の端末指紋検知が「セキュリティ上の理由」でアカウントを無効化する。宿泊 OTA で実際に起きた(月数十万円規模の売上窓口が丸ごと閉じた)。Instagram は同種の検知がさらに厳しい。
  • 「通常ブラウザでログインして Cookie を自動化プロファイルに移す」案は、Chrome v127 以降の App-Bound Encryption で Chrome 本体以外が Cookie を復号できず、実装できない。
  • instagrapi 等の非公式ライブラリは利用規約違反で、同じく停止リスク。
  • 残る安全な経路は公式 Graph API だけ。トークンは失効・取り消しができ、権限も絞れる。

事前に公開ページだけで確認できること

  1. アカウントがプロアカウント(ビジネス/クリエイター)か。公開プロフィール https://www.instagram.com/<ユーザー名>/ にカテゴリ(「ホテル」「レストラン」等)が出ていればプロアカウント化済み。出ていなければ Instagram アプリの設定でプロアカウントに切り替える(人の操作)。
  2. 公式サイトのフッター等から正しいユーザー名を特定する(似た名前の偽アカウントを掴まないため)。

公式ドキュメントで確認した前提(2026-10 時点)

  • トークン発行場所: Meta App Dashboard の「Instagram > API setup with Instagram business login」→「Generate token」。アプリ種類は Business。Dashboard で発行されるトークンは長期(60 日)。
  • 投稿の流れ: POST /{ig-user-id}/media(image_url または video_url と caption)→ POST /{ig-user-id}/media_publish。
  • メディアは 公開 HTTPS URL 上に置く必要がある(ローカルファイルの直送は不可)。画像は JPEG のみ。動画/リールは MP4。カルーセルは 10 枚まで。ストーリーズ可。
  • API 経由の投稿は 1 アカウント 24 時間で 100 件まで。
  • 必要権限: 投稿は instagram_business_basic + instagram_business_content_publish。コメントは instagram_business_manage_comments、DM は instagram_business_manage_messages(Webhook の公開エンドポイントが別途要る)。
  • Instagram API には投稿の削除が無い。テスト投稿は本番として出せる内容か、24 時間で消えるストーリーズで行う。
  • 出典: developers.facebook.com の「Instagram API with Instagram Login > Get started」と「Content publishing」。

AI エージェント側が先に用意するもの

1. .gitignore(トークンをコミットさせない)

.env
.env.*
!.env.example

.env.example しか追跡していないリポジトリでも .env 自体が除外されていないことがある。git check-ignore -v .env で exit 0 になるまで確認する。

2. デスクトップの .cmd(人の操作を 1 回に畳む)

ファイル名例: Instagramトークン登録(ダブルクリック).cmd。中身は ASCII のみ(cmd のコードページ事故を避ける)。__REPO__ をリポジトリの絶対パス、__IG_USERNAME__ を対象アカウントのユーザー名に置き換える。 デスクトップの実パスは PowerShell の [Environment]::GetFolderPath('Desktop') で取る(OneDrive リダイレクト対策)。

@echo off
setlocal EnableExtensions
rem Instagram: guide the one-time Meta setup, save the access token into
rem the project .env and verify it. ASCII only.

set "ENV=__REPO__\.env"
set "TMP_ENV=%ENV%.tmp"

echo.
echo  STEP 1  Opening the Meta App Dashboard in your normal browser...
start "" "https://developers.facebook.com/apps/"
echo.
echo         a) Log in with the operator's own Facebook account.
echo         b) Create app  -^>  type: Business  -^>  add product: Instagram
echo         c) Left menu:  Instagram ^> API setup with Instagram business login
echo         d) Click "Generate token", log in as __IG_USERNAME__, allow, copy the token.
echo.
echo  STEP 2  Paste the token below and press Enter (nothing is shown while pasting).
echo.
set "TOKEN="
set /p "TOKEN=> "
if not defined TOKEN (
  echo  No token entered. Nothing was changed.
  pause
  exit /b 1
)

echo  STEP 3  Saving to %ENV%
if exist "%ENV%" (
  findstr /v /b /c:"INSTAGRAM_ACCESS_TOKEN=" "%ENV%" > "%TMP_ENV%"
  move /y "%TMP_ENV%" "%ENV%" > nul
)
>> "%ENV%" echo INSTAGRAM_ACCESS_TOKEN=%TOKEN%

echo  STEP 4  Verifying with Meta Graph API (/me)...
echo         SUCCESS looks like: {"user_id":"...","username":"__IG_USERNAME__"}
echo.
curl.exe -s "https://graph.instagram.com/v21.0/me?fields=user_id,username&access_token=%TOKEN%"
echo.
echo.
echo  If the line above contains "__IG_USERNAME__"  -^>  DONE. Close this window.
echo  If it contains "error"  -^>  take a screenshot of this window and send it to the AI.
echo.
pause
endlocal

ポイント:

  • start "" で 通常ブラウザ を開く。自動化ブラウザを前面に出して「ここに入力して」と促さない。
  • set /p の貼り付け中は何も表示されないので、その旨を先に出す(「壊れた」と思われない)。
  • 既存の INSTAGRAM_ACCESS_TOKEN= 行は findstr /v で消してから追記し、重複行を作らない。
  • その場で /me を叩いて成否を画面に出す。成功判定は「応答にユーザー名が含まれる」。失敗は "error" を含む JSON。

3. 人への依頼文(1 文で済ませる)

デスクトップの「Instagramトークン登録(ダブルクリック).cmd」を 1 回ダブルクリックし、開いたブラウザの案内に従ってトークンを貼ってください。黒い窓に <ユーザー名> が出れば完了です。error が出たらその窓のスクショを 1 枚ください。

受領後に AI エージェントが実装するもの

  • tools/instagram/post.mjs: --image <公開URL> または --video <公開URL>、--caption。コンテナ作成 → 動画は status_code が FINISHED になるまでポーリング → media_publish。応答の media id をログに残す。
  • tools/instagram/refresh-token.mjs: GET https://graph.instagram.com/refresh_access_token?grant_type=ig_refresh_token&access_token=<現トークン>。毎日の夜間ジョブで実行し、残り 10 日を切ったら更新して .env を書き換える。トークンは発行から 24 時間経たないと更新できない。更新失敗が続いたら人に通知して打ち切る(無人処理には試行上限を付ける)。
  • メディアの置き場: 公開 HTTPS URL が要る。静的ホスティング(Vercel 等)、公開リポジトリの raw、オブジェクトストレージのいずれか 1 つに決める。
  • 検証: テスト投稿後に 必ず公開プロフィールをブラウザで開いて実表示を読み戻す。API の成功応答だけで「出た」と言わない。

踏みやすい失敗

失敗何が起きるか回避
パスワードを自動化ブラウザに打つアカウント無効化。復旧は本人確認待ち本指示書の方式。パスワードは OAuth 画面で人が 1 回打つだけ
.env が gitignore されていないトークンがコミット候補に出る先に git check-ignore -v .env を確認
トークンをチャットに貼らせる会話ログに平文で残る.cmd でファイルに直接入れる
投稿を削除しようとするAPI に削除が無いテストはストーリーズか本番で出せる内容
Webhook を GAS の /exec で受ける302 リダイレクトで Meta の配信に耐えるか未確認サーバレス関数(Vercel 等)で受ける
画面を見ずに手順を書くラベル名が実画面と違い手戻り公式ドキュメント由来のラベルは「未確認」と明記し、違ったらスクショ 1 枚をもらって直す

よくある質問

+「Instagram の自動投稿を AI エージェントに任せる(パスワードを渡さず Meta API トークンを OAuth 1 回で受け取る)」とは何ですか?

Instagram の ID/パスワードを AI に渡さず、Meta の長期アクセストークンだけを渡す手順。デスクトップの .cmd が通常ブラウザで Meta App Dashboard を開き、貼られたトークンを .env に保存して /me で即検証する。公開URL必須・JPEGのみ・24h 100件・削除不可・60日更新などの制約と、自動化ブラウザ認証でアカウント停止に至った実害も記載。

+どれくらいトークン(費用)を節約できますか?

ゼロから開発すると約6万トークンかかりますが、この巻物を使えば約5,000トークンで済みます。差し引き約5.5万トークン(API料金換算で約83円)・92%の節約です。

+どうやって使いますか?

無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。

+どのAIツールに対応していますか?

claude-code、cursor、codex-cli に対応しています。

+商用利用できますか?

ライセンスは「商用利用可 (再販不可)」です。

🤝 自分でAIを動かすのは、まだ不安…という方へ

この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。

AI代行堂を見る →

関連する巻物

この巻物、誰かのトークンも救えます

𝕏 で節約レシートをシェア