0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🚀 GraphQLでInstagramのデータを取得!効率的なAPI活用法 📸

Posted at

GraphQLを使ってInstagramの投稿やデータを取得する方法

image.png

📌 はじめに

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 アカウントの作成

  1. Facebook Developer にアクセス。
  2. **「マイアプリを作成」**をクリック。
  3. Instagram Graph API を選択し、必要な情報を入力。

✅ ステップ 2: アクセストークンの取得

  1. Facebook Graph API Explorer にアクセス。
  2. Instagramアカウントをビジネスアカウントに切り替える。
  3. instagram_basicinstagram_graph_user_profile のパーミッションを取得。
  4. アクセストークンを取得し、後のリクエストに使用。

🔥 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のデータを取得する方法をご紹介します!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?