On September 4, 2024, we announced the deprecation of the Instagram Basic Display API.

Starting December 4, 2024, all requests to the Instagram Basic Display API will return an error message. We recommend that you migrate your app to the Instagram API to avoid any disruption to your services.

Visit our News for Developers blog post to learn more.

獲取用戶個人檔案和用戶媒體

本指南將講解如何獲取 Instagram 用戶的個人檔案和媒體。

獲取用戶個人檔案

按照以下步驟操作,獲取用戶的 Instagram 用戶個人檔案資料(欄位)。

第 1 步:獲取存取憑證和權限

按照我們的「獲取存取憑證和權限」指南操作,取得用戶的 Instagram 用戶存取憑證。您將需要取得 instagram_graph_user_profile 權限,因此請在向用戶獲取授權時索取 user_profile 範圍的權限。

第 2 步:查詢用戶節點

向以下端點傳送要求:

GET /me?fields={fields}&access_token={access-token}

{fields} 換成您希望系統傳回的用戶欄位清單並以逗號分隔,再將 {access-token} 換成用戶存取憑證。GET /me 端點會根據憑證找出用戶編號,然後將要求重新導向用戶節點。

要求範例

curl -X GET \
  'https://graph.instagram.com/me?fields=id,username&access_token=IGQVJ...'

回應範例

{
  "id": "17841405793187218",
  "username": "jayposiris"
}

獲取用戶媒體

按照以下步驟操作,獲取 Instagram 用戶媒體合集。

第 1 步:獲取存取憑證和權限

按照我們的「獲取存取憑證和權限」指南操作,取得用戶的 Instagram 用戶存取憑證。您將需要 instagram_graph_user_profileinstagram_graph_user_media 權限,因此請在向用戶獲取授權時,索取 user_profileuser_media 範圍的權限。

第 2 步:查詢用戶媒體關係連線

向以下端點傳送要求:

GET /me/media?fields={fields}&access_token={access-token}

{fields} 換成您希望系統就回應中每個媒體傳回的媒體欄位清單並以逗號分隔(如果您只需要編號,則請略去整個 fields 參數),再將 {access-token} 換成用戶存取憑證。GET /me 端點會根據憑證找出用戶編號,然後將要求重新導向用戶節點。

要求範例

curl -X GET \
  'https://graph.instagram.com/me/media?fields=id,caption&access_token=IGQVJ...'

回應範例

{
  "data": [
    {
      "id": "17895695668004550",
      "caption": ""
    },
    {
      "id": "17899305451014820",
      "caption": ""
    },
    {
      "id": "17896450804038745",
      "caption": ""
    },
    {
      "id": "17881042411086627",
      "caption": ""
    }
  ],
  "paging": {
    "cursors": {
      "after": "MTAxN...",
      "before": "NDMyN..."
      },
    "next": "https://graph.faceb..."
  }
}

獲取媒體資料

按照以下步驟操作,獲取圖片、影片或相簿的資料(欄位)。

第 1 步:獲取存取憑證和權限

按照我們的「獲取存取憑證和權限」指南操作,取得用戶的 Instagram 用戶存取憑證。您將需要取得 instagram_graph_user_media 權限,因此請在向用戶獲取授權時索取 user_media 範圍的權限。

第 2 步:查詢媒體節點

向以下端點傳送要求:

GET /{media-id}?fields={fields}&access_token={access-token}

{media-id} 換成您希望查詢的圖片、影片或相簿的編號,將 {fields} 換成您希望系統傳回的媒體欄位清單並以逗號分隔,再將 {access-token} 換成用戶存取憑證。

要求範例

curl -X GET \
  'https://graph.instagram.com/17895695668004550?fields=id,media_type,media_url,username,timestamp&access_token=IGQVJ...'

回應範例

{
  "id": "17895695668004550",
  "media_type": "IMAGE",
  "media_url": "https://fb-s-b-a.akamaihd.net/...",
  "username": "jayposiris"
  "timestamp": "2017-08-31T18:10:00+0000"
}

第 2 步(替代方案):查詢用戶媒體關係連線

您可以查詢用戶媒體關係連線,以獲取用戶媒體合集,然後透過欄位擴展讓回應包含合集中每個媒體媒體欄位。如要做到一點,請向以下端點傳送要求:

GET /me/media?fields={fields}&access_token={access-token}

{fields} 換成您希望系統就合集中每個媒體傳回的媒體欄位清單並以逗號分隔,再將 {access-token} 換成用戶存取憑證。GET /me 端點會根據憑證找出用戶編號,然後將要求重新導向用戶節點。

要求範例

curl -X GET \
  'https://graph.instagram.com/me/media?fields=id,caption&access_token=IGQVJ...'

回應範例

{
  "data": [
    {
      "id": "17895695668004550",
      "caption": ""
    },
    {
      "id": "17899305451014820",
      "caption": ""
    },
    {
      "id": "17896450804038745",
      "caption": ""
    },
    {
      "id": "17881042411086627",
      "caption": ""
    }
  ],
  "paging": {
    "cursors": {
      "after": "MTAxN...",
      "before": "NDMyN..."
      },
    "next": "https://graph.faceb..."
  }
}

獲取相簿內容

按照以下步驟操作,獲取相簿媒體中的圖片和影片媒體合集。

第 1 步:獲取存取憑證和權限

按照我們的「獲取存取憑證和權限」指南操作,取得用戶的 Instagram 用戶存取憑證。您將需要取得 instagram_graph_user_media 權限,因此請在向用戶獲取授權時索取 user_media 範圍的權限。

第 2 步:查詢媒體子關係連線

向以下端點傳送要求:

GET /{media-id}/children?fields={fields}&access_token={access-token}

{media-id} 換成您希望查詢的相簿,將 {fields} 換成您希望系統就合集中每個圖片和影片媒體傳回的媒體欄位清單並以逗號分隔(如果您只需要媒體編號,則請略去整個 fields 參數),再將 {access-token} 換成用戶存取憑證。

要求範例

curl -X GET \
  'https://graph.instagram.com/17896450804038745/children?access_token=IGQVJ...'

回應範例

{
  "data": [
    {
      "id": "17880997618081620"
    },
    {
      "id": "17871527143187462"
    }
  ],
  "paging": {
    "cursors": {
      "after": "MTAxN...",
      "before": "NDMyN..."
      },
    "previous": "https://graph.faceb...",
    "next": "https://graph.faceb..."
  }
}