Instagram Graph API のクエリ実行例

グラフAPIエクスプローラを使用して、InstagramグラフAPIの実行結果を確認する :sunny:

### ユーザーのページを取得する
APIエンドポイント
```
GET /me/accounts
```

実行例
```
https://graph.facebook.com/v19.0/me/accounts?access_token={access-token}
```

実行結果
```json
{
  "data": [
    {
      "access_token": {access-token},
      "category": "IT企業",
      "category_list": [
        {
          "id": "1130035050388269",
          "name": "IT企業"
        }
      ],
      "name": "Te.k",
      "id": {page-id}, // FacebookページID
      "tasks": [
        "ADVERTISE",
        "ANALYZE",
        "CREATE_CONTENT",
        "MESSAGING",
        "MODERATE",
        "MANAGE"
      ]
    }
  ],
  "paging": {
    "cursors": {
      "before": "QVFIUm1FVnpXODN0NGlhVEJJcjYtTW9LWXcyejhyTk52ZA05reGp5YThteEtRRXVKNXVhNWJOTlVrQk5ZAYm00bS1aVklHMTZALdU9OVHNBeFR6NXRCcGN1dDB3",
      "after": "QVFIUm1FVnpXODN0NGlhVEJJcjYtTW9LWXcyejhyTk52ZA05reGp5YThteEtRRXVKNXVhNWJOTlVrQk5ZAYm00bS1aVklHMTZALdU9OVHNBeFR6NXRCcGN1dDB3"
    }
  }
}
```
取得した「FacebookページID」を次で使用する


### ページのInstagramビジネスアカウントを取得する
APIエンドポイント
```
GET /{page-id}?fields=instagram_business_account
```

実行例
```
 https://graph.facebook.com/v19.0/{page-id}?
 fields=instagram_business_account
 &access_token={access-token}
```

実行結果
```
{
  "instagram_business_account": {
    "id": {ig-user-id} // FacebookページにリンクされているInstagramユーザーID
  },
  "id": {page-id} // FacebookページID
}
```
取得した「FacebookページにリンクされているInstagramユーザーID」を次で使用する


### アカウントのフォロワー数とメディア数を取得する
APIエンドポイント
```
GET /{ig-user-id}/business_discovery
```

実行例
```
https://graph.facebook.com/v19.0/{ig-user-id}?
fields=business_discovery.username(bluebottle){followers_count,media_count}
&access_token={access_token}
```

実行結果
```json
{
  "business_discovery": {
    "followers_count": 463108,
    "media_count": 2175,
    "id": "17841401441775531" // Blue BottleのInstagramアカウントのID
  },
  "id": "{ig-user-id}" // クエリを実行しているInstagramアカウントのID
}
```

## IGユーザーとそのIGメディアオブジェクトのソーシャルインタラクション指標を取得
APIエンドポイント
```
GET /{ig-user-id}/insights
```

実行例
```
https://graph.facebook.com/v19.0/{ig-user-id}/insights?
metric=impressions,reach,profile_views&period=day
&access_token={access-token}
```
クエリの`metric`はカンマ区切りで配列として指定する


実行結果
```json
{
  "data": [
    {
      "name": "impressions",
      "period": "day",
      "values": [
        {
          "value": 3,
          "end_time": "2024-02-16T08:00:00+0000"
        },
        {
          "value": 0,
          "end_time": "2024-02-17T08:00:00+0000"
        }
      ],
      "title": "インプレッション",
      "description": "ビジネスアカウントのメディアオブジェクトの合計ビュー数です",
      "id": "{ig-user-id}/insights/impressions/day"
    },
    {
      "name": "reach",
      "period": "day",
      "values": [
        {
          "value": 1,
          "end_time": "2024-02-16T08:00:00+0000"
        },
        {
          "value": 0,
          "end_time": "2024-02-17T08:00:00+0000"
        }
      ],
      "title": "リーチ",
      "description": "ビジネスアカウントのメディアオブジェクトの合計ユニークビュー数です",
      "id": "{ig-user-id}/insights/reach/day"
    },
    {
      "name": "profile_views",
      "period": "day",
      "values": [
        {
          "value": 5,
          "end_time": "2024-02-16T08:00:00+0000"
        },
        {
          "value": 0,
          "end_time": "2024-02-17T08:00:00+0000"
        }
      ],
      "title": "プロフィールビュー",
      "description": "指定された期間にビジネスアカウントのプロフィールを見た合計ユーザー数です",
      "id": "{ig-user-id}/insights/profile_views/day"
    }
  ],
  "paging": {
    "previous": "https://graph.facebook.com/v19.0/{ig-user-id}/insights?access_token=EAAJZCLsvVVSYBOyr5Mabvdjb7jGY3FexMC1l4yXPBD09DlUkUWhN8EhgTZAcjTsclryY08InEvFM45bGVJZBW0AQngTKR7RIwZCJOXLN5ehkpFkwvQnTLEkBPa9gPVjGeZCKhPcqV2T0c6pv84084Q8GKYwZB7tIZCMpx0EatLURPe9F1lstRVbbdGbUEAcUvn2bBTAzelHjsZBlPvgItwZDZD&pretty=0&metric=impressions%2Creach%2Cprofile_views&period=day&since=1707869850&until=1708042650",
    "next": "https://graph.facebook.com/v19.0/{ig-user-id}/insights?access_token=EAAJZCLsvVVSYBOyr5Mabvdjb7jGY3FexMC1l4yXPBD09DlUkUWhN8EhgTZAcjTsclryY08InEvFM45bGVJZBW0AQngTKR7RIwZCJOXLN5ehkpFkwvQnTLEkBPa9gPVjGeZCKhPcqV2T0c6pv84084Q8GKYwZB7tIZCMpx0EatLURPe9F1lstRVbbdGbUEAcUvn2bBTAzelHjsZBlPvgItwZDZD&pretty=0&metric=impressions%2Creach%2Cprofile_views&period=day&since=1708215452&until=1708388252"
  }
}
```
Instagramの各種指標が取得できた

## Reference
- [getting-started](https://developers.facebook.com/docs/instagram-api/getting-started)
- [インサイト](https://developers.facebook.com/docs/instagram-api/guides/insights)
- [Instagramユーザーインサイト](https://developers.facebook.com/docs/instagram-api/reference/ig-user/insights)