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 permissions,因此请在从用户处获取授权时请求 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..."
  }
}