概览

设置了 Facebook 登录的 Instagram API 是一组 Facebook 图谱 API 端点,可以让应用访问 Instagram 专业账户(业务账户和创作者账户)中的数据。如果您不熟悉 Facebook 图谱 API,请先阅读我们的图谱 API 文档,然后再继续查看本文档。

基本网址

您可以通过 graph.facebook.com 托管网址访问所有端点。

应用用户

您的应用用户通过 Facebook 帐户间接访问 Instagram 专业帐户,因此他们必须拥有 Facebook 帐户,并在登录您的应用时使用该帐户。此外,该 Facebook 帐户必须能够在已绑定用户要访问的 Instagram 帐户的 Facebook 公共主页上执行管理员级别的任务

这些条件适用于所有应用用户,包括在您的应用中拥有身份的用户,以及在已认领您应用的公司中拥有身份的用户。

身份验证

系统通过访问口令处理应用用户身份验证。应用用户通过 Facebook 帐户间接访问 Instagram 专业帐户,因此所有 API 请求必须包含应用用户的 Facebook 用户访问口令。您可以通过实现 Facebook 登录来从应用用户处获取口令。请注意,Facebook 登录不支持 Instagram 凭证,因此应用用户必须使用 Facebook 帐户登录。

授权

端点授权由权限功能处理。您必须首先向应用用户请求相关端点所需的所有权限,应用才可以使用该端点访问应用用户的 Instagram 数据。然后,应用用户必须为应用授予这些权限。获取权限后,您可以通过查询相关端点访问用户的数据。

注意,拥有相关权限后,应用也只可访问授予该权限的用户所创建的数据。一些端点允许应用访问不是由相关应用用户所创建的数据,但此类数据较为有限,并且为公开数据。

您可以通过实现 Facebook 登录向应用用户请求权限。在您的应用中拥有身份的应用用户可以授予您请求的任何权限。而对于在您的应用中没有身份的应用用户来说,他们只能授予经过应用审核流程批准的权限和功能。

此 API 将使用以下权限和功能:

请参阅我们的端点参考文档,确定您的应用将需要向应用用户请求哪些权限和功能。

Instagram 消息

如果您打算实现 Messenger 开放平台的 Instagram 消息功能,则需要添加 instagram_manage_messages 权限。进一步了解 Instagram 消息功能

合作者

通过 Instagram 合作功能,Instagram 应用用户可与其他帐户(合作者)共同创作内容(例如发布媒体)。

除少数例外情况外,只有发布媒体的用户可以通过此 API 访问共同创作媒体的数据或相关数据;合作者无法通过此 API 访问这类数据。少数例外情况是指搜索表现最佳的媒体或最近发布的标有特定话题标签的媒体。请参阅话题标签搜索

公共主页

必须先将 Instagram 专业帐户与特定 Facebook 公共主页绑定,才可通过此 API 访问这些帐户的数据。绑定成功后,任何可在该公共主页执行任务的 Facebook 用户均可向您的应用授予访问口令,以便在 API 请求中使用。

我们的帮助文章添加或更改与 Instagram 专业账户绑定的 Facebook 公共主页说明了如何将 Facebook 公共主页与 Instagram 专业账户绑定。

任务

如要让应用用户为您的应用授予权限,该应用用户必须能够在与其试图访问的 Instagram 帐户绑定的 Facebook 公共主页上执行任务。应用用户可以根据他们能够执行的任务为您的应用授予权限,如下所示:

权限MANAGECREATE_CONTENTMODERATEADVERTISEANALYZE

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

您可以通过使用特定应用用户的用户访问口令查询 GET /me/accounts 端点,确定该应用用户能够在相关公共主页上执行哪些任务。该端点将返回一个公共主页清单,应用用户可以在这些公共主页上执行任务。同时从清单中还可以看到用户可以在各个公共主页上执行哪些任务。

请参阅参考文档,了解每个端点所需的权限。此 API 不支持拥有直播人员身份的应用用户。

对“任务”的称呼

如果您需要向应用用户通知任务的相关事宜(以及正确使用您的应用所需完成的任务),请参考下文,了解我们不同用户界面对“任务”的称呼。

经典版公共主页

经典版公共主页对“任务”的称呼是身份。在公共主页上具有管理员身份的应用用户可以为您的应用授予任何权限。拥有其他身份的应用用户可以授予如下权限:

身份可授予的权限

编辑

instagram_basic
instagram_content_publish

版主

instagram_basic
instagram_manage_comments
instagram_manage_insights

广告主

instagram_basic
instagram_manage_insights

分析员

instagram_basic
instagram_manage_insights

全新公共主页体验

新版公共主页体验对“任务”的称呼是“Facebook 管理权限”或“任务权限”。在公共主页上具有 Facebook 管理权限的应用用户可以为您的应用授予任何权限。具有任务权限的应用用户可以授予如下权限:

任务权限可授予的权限

广告

instagram_basic

内容

instagram_basic
instagram_content_publish

成效分析

instagram_basic
instagram_manage_insights

消息以及社群动态

instagram_basic
instagram_manage_comments

如要确定特定公共主页是否在使用新版体验,您可以请求其 has_transitioned_to_new_page_experience 字段。如果该公共主页使用新版体验,此值会返回 true

应用审核

如果应用用户在您的应用中没有身份,而且在已认领您应用的公司中没有身份,则您的应用必须先完成应用审核,才可供该应用用户使用。如果您应用的适用对象仅为拥有应用身份或公司身份的用户,则无需完成应用审核。

如果您已实现 Facebook 登录且应用已公开发布,则您的应用审核提交资料无需包含任何 Facebook 测试用户凭证。然而,如果我们的审核人员需要登录非 Facebook 帐户以触发您实现的 Facebook 登录,则您必须在提交资料中包含非 Facebook 帐户凭证。

非公开应用

如果您的应用位于非公开内网中、没有用户界面,或未实现 Facebook 登录,导致我们的审核人员无法测试该应用,那么您只能请求以下权限:

商家认证

您必须完成公司验证,您应用的才可供在该应用中没有身份并且在已认领该应用的公司中没有身份的应用用户使用。

流量限制

所有端点均受 Instagram 商家用例流量限制约束,但商家发现话题标签搜索端点除外,这二者受平台流量限制约束。

Webhooks

通过 Webhooks,只要有人评论您应用用户的媒体对象或应用用户的任何动态过期,您都可收到通知。请参阅我们的 Webhooks 文档,了解如何使用 Webhooks,然后为 Instagram 主题设置 Webhooks 并订阅其 commentsstory_insights 字段。

Instagram 消息

结合使用多个设置了 Facebook 登录的 Instagram API 端点与 Messenger 开放平台端点可以让您的应用用户与发送到其 Instagram 专业账户的私信进行互动。请参阅 Messenger 开放平台的 Instagram 消息功能文档,了解如何访问 Instagram 业务帐户中的消息。