はじめに
WebサイトにInstagramの投稿を表示したい、というケースはよくあります。
例えば「最新投稿をトップページに出したい」「投稿内容の取得を自動化したい」といった要望です。
今回は、Instagram Graph APIを使って投稿を取得する方法を、アカウント準備から実際のAPI実行までを一通りまとめました。
少し手順が多いですが、一度構築すれば安定して運用できるのでぜひ参考にしてください。
前提条件
まず、この仕組みを使うにはいくつか前提があります。
- Instagramアカウントは「ビジネス」または「クリエイター」であること。
- Facebookアカウントを持っていること。
- Facebookページを作成済みであること。
InstagramとFacebookのページを連携
FacbookのMeta Business Suiteを開いて、連携の設定をします。
アカウント>Instagramアカウントからアカウントを追加してください。
アカウント>ページでInstagramアカウントが含まれていれば連携ができています。
Meta for Developersでアプリ作成
次に、開発用のアプリを作成します。
1. Meta for Developersにアクセス
2. アプリ作成(ビジネス用途)
3. ユースケースでの「Instagramでメッセージとコンテンツ管理」で必要な権限(アクセス許可)を付与します。
- instagram_business_basic
- instagram_manage_comments
- instagram_business_manage_messages
短期アクセストークンを取得
Graph API Explorerを使って、まずは短期トークンを取得します。
1.ユーザートークンを選択
2. 必要な権限にチェック
- pages_show_list
- business_management
- instagram_basic
- instagram_manage_comments
- instagram_content_publish
- instagram_manage_messages
- pages_read_engagement
長期トークン(60日)を取得
短期トークンを長期トークンに変換します。
curl -i -X GET "https://graph.facebook.com/v24.0/oauth/access_token?grant_type=fb_exchange_token&client_id={アプリID}&client_secret={app secret}&fb_exchange_token={短期トークン}"レスポンス例:
{
"access_token": "EAAjV4c4Nzd4BQt0ULZBSgKPfd2DOZBOIWZCP41HInmvPcjEHXuH00ZA7HEGSddMvMtQ8mLEIsqWs6RBEk5T...",
"token_type": "bearer",
"expires_in": 5115019
}レスポンスのaccess_tokenが長期トークンです。
無期限トークン(ページトークン)を取得
さらに、長期トークンから無期限トークンを取得します。
curl -i -X GET "https://graph.facebook.com/v24.0/me/accounts?access_token={長期トークン}"レスポンスのaccess_tokenが無期限トークンです。
InstagramビジネスアカウントIDの取得
curl -i -X GET "https://graph.facebook.com/v24.0/me/accounts?fields=instagram_business_account&access_token={無期限トークン}"レスポンス例:
{
"data": [
{
"instagram_business_account": {
"id": "178XXXXXXXXXXXXXX"
}
}
]
}レスポンスのinstagram_business_accountのidがInstagramビジネスアカウントIDです。
Instagram投稿を取得
いよいよ投稿取得です。
curl -i -X GET "https://graph.facebook.com/v24.0/{InstagramビジネスアカウントID}/media?fields=id,caption,media_type,media_url,permalink,timestamp&access_token={無期限トークン}""レスポンス例:
{
"data": [
{
"id": "1810030XXXXXXXXXXX",
"caption": "春のイベント",
"media_type": "IMAGE",
"media_url": "画像URL",
"permalink": "投稿URL",
"timestamp": "2026-04-17T06:17:48+0000"
}
]
}
おわりに
手順が多く、特に最初のアカウント作成から連携は少し面倒です。
ただ、一度構築してしまえば安定して投稿を取得できるので、
WebサイトでのSNS投稿取得を自動化したい場合にはかなり有効です。
同じようにInstagram連携を考えている方の参考になれば嬉しいです。
記事を読んで興味を持った方はぜひコチラから↓