GraphQLを使ってInstagramの投稿やデータを取得する方法
📌 はじめに
GraphQLは、柔軟で効率的なデータ取得を可能にするAPIクエリ言語です。従来のREST APIに比べて、必要なデータのみを取得できるため、特にSNSデータの取得やフィルタリングに適しています。今回は、GraphQLを活用してInstagramの投稿やデータを取得する方法を詳しく解説します。
🎯 Instagram GraphQL APIとは?
Instagram GraphQL APIは、Meta(旧Facebook)が提供するAPIで、Instagramの投稿やプロフィール情報を取得できます。以下のようなデータを取得できます。
- 投稿情報(画像、動画、キャプションなど)
- プロフィール情報(ユーザー名、フォロワー数など)
- コメント、いいね情報
- ストーリーやリールの情報
💡 注意: 公式APIを利用するには、Facebook Graph APIのアクセストークンが必要になります。
🚀 Instagram GraphQL APIの利用手順
1️⃣ Facebook Graph APIの設定
InstagramのGraphQL APIを利用するには、まずFacebook for Developersでアプリを作成し、Instagramのデータアクセス権を取得する必要があります。
✅ ステップ 1: Facebook Developer アカウントの作成
- Facebook Developer にアクセス。
- **「マイアプリを作成」**をクリック。
- Instagram Graph API を選択し、必要な情報を入力。
✅ ステップ 2: アクセストークンの取得
- Facebook Graph API Explorer にアクセス。
- Instagramアカウントをビジネスアカウントに切り替える。
-
instagram_basic
、instagram_graph_user_profile
のパーミッションを取得。 - アクセストークンを取得し、後のリクエストに使用。
🔥 GraphQLクエリを使ってInstagramデータを取得する
GraphQLを使用してInstagramの投稿データを取得する方法を解説します。
2️⃣ GraphQLの基本構文
GraphQLでは、以下のようなシンプルなクエリでデータを取得できます。
query {
user(username: "example") {
id
full_name
profile_picture
posts {
edges {
node {
id
media_url
caption
like_count
}
}
}
}
}
このクエリでは、
-
user(username: "example")
→ 指定したユーザーの情報を取得 -
full_name
,profile_picture
→ ユーザーの基本情報 -
posts
→ 投稿情報(ID、画像URL、キャプション、いいね数)
3️⃣ Pythonを使ったGraphQLリクエストの実装
Instagram GraphQL APIをPythonで呼び出すには、requests
ライブラリを使用します。
✅ 必要なライブラリのインストール
pip install requests
✅ Instagramの投稿データを取得するPythonコード
import requests
ACCESS_TOKEN = "your_facebook_graph_api_access_token"
USERNAME = "example"
INSTAGRAM_GRAPHQL_URL = "https://graph.instagram.com/me/media"
# GraphQLクエリの作成
query = {
"query": """
query {
user(username: "example") {
id
full_name
profile_picture
posts {
edges {
node {
id
media_url
caption
like_count
}
}
}
}
}
"""
}
# APIリクエストの送信
headers = {
"Authorization": f"Bearer {ACCESS_TOKEN}",
"Content-Type": "application/json"
}
response = requests.post(INSTAGRAM_GRAPHQL_URL, json=query, headers=headers)
data = response.json()
print(data)
4️⃣ レスポンスの例
上記のリクエストを実行すると、以下のようなJSONレスポンスが返されます。
{
"data": {
"user": {
"id": "123456789",
"full_name": "Example User",
"profile_picture": "https://example.com/profile.jpg",
"posts": {
"edges": [
{
"node": {
"id": "987654321",
"media_url": "https://example.com/photo.jpg",
"caption": "This is an example post!",
"like_count": 120
}
}
]
}
}
}
}
このレスポンスでは、指定したInstagramユーザーの**投稿情報(画像、キャプション、いいね数)**が取得できています。📸✨
🏆 まとめ
GraphQLを使ってInstagramのデータを取得する方法を紹介しました。💡
✅ Facebook Graph APIを利用してアクセストークンを取得
✅ GraphQLクエリでInstagramデータを取得
✅ Pythonを使ってAPIリクエストを実装
✅ レスポンスを解析してデータを活用
GraphQLを活用すれば、必要なデータだけを効率よく取得でき、Instagramの投稿データを簡単に扱うことができます。🎉
Instagramのデータを使ったアナリティクスや、マーケティングの最適化に役立ててみてください!🚀
🔜 次回は、Facebook Developerアプリを作成せずにInstagramのデータを取得する方法をご紹介します!