Instagram Graph API 有沙盒模式吗?
Posted
技术标签:
【中文标题】Instagram Graph API 有沙盒模式吗?【英文标题】:Does Instagram Graph API has sandbox mode? 【发布时间】:2018-03-20 20:25:57 【问题描述】:docs 说(第 4 步):
在 Instagram 的 App Review 部分中,针对您的 App 需要从其用户那里获得的每个权限,单击 Add to Submission。 instagram_basic 是必需的。 instagram_manage_cmets、instagram_manage_insights 和 instagram_content_publish 是可选的。
滚动到页面底部,然后在“当前提交”子部分中,对于每个提交,单击其查看备注链接。
在“查看备注”对话框中为每个权限提交提供说明,说明您将如何使用需要该权限的任何端点返回的数据,以及显示您的应用将如何使用数据的截屏视频。
完成所有权限提交的备注后,点击页面底部的提交以供审核按钮。请注意,这独立于您的应用审核,您将在测试后进行。
将 Facebook Login 和 Instagram API 产品添加到您的应用配置后,将 Facebook Login 添加到您的应用并录制一个截屏视频,展示您将如何使用 Instagram API 返回的数据。这类似于 Facebook 登录截屏视频,但使用的是 Instagram 数据,因此适用相同的准则。
第 5 步:
收到 Instagram API 产品提交已获批准的通知后,您可以使用 Graph API Explorer 测试您的应用。
通过 Facebook 登录,我可以创建一个在沙盒模式下运行的应用程序。这让我可以创建一个截屏视频。为了能够(在网站上)使用 Instagram Graph API,我需要(从我能收集到的信息中):
Facebook 页面链接到 Instagram 企业帐户 应用图标 隐私政策页面 一个可以使用 Facebook 登录的网站 如何使用每个权限的说明 截屏……究竟是什么?网站基本上已经准备就绪,但不是从 Instagram 获取数据,而是将数据硬编码在代码中?还是说有沙盒模式?
UPD 我已经在上面的引文中强调了重要的部分。那么:
5。测试您的应用
收到 Instagram API 产品提交已获批准的通知后,您可以使用 Graph API Explorer 测试您的应用。
转到 Graph API Explorer...
您将进行的第一个调用是调用 Graph API 的 /user/accounts 边缘...
找到您连接到 Instagram 企业帐户的主页并点击其 ID...
接下来,[提出 /page?fields=instagram_business_account 请求]。
这是我在 Graph API Explorer 中得到空响应的地方(仅返回 id 字段),或者:
200:- OAuthException:(#200) 由于我们对 Facebook 平台进行的更改,对于非活动应用程序或最近未访问此数据的应用程序暂时禁用访问此数据。 https://developers.facebook.com/status/issues/205942813488872/
GET /...?fields=instagram_business_account HTTP/1.1
在我的网站上。在通过评论(Instagram App Review 和 Facebook App Review)之前,我可以向 Instagram Graph API 提出哪些请求?
【问题讨论】:
在您的应用获得批准之前,您始终处于沙盒模式。 @Wils 当然,但我可以在批准之前开始使用 Facebook Graph API(Facebook App Review)。对于 Instagram Graph API,情况并非如此。获取 Instagram 商业帐户 ID 失败。那不是沙盒模式。我会说,那是无访问模式。在通过两条评论之前,我可以向 Instagram Graph API 提出哪些请求?我错过了什么吗? @x-yuri 我也有同样的经历。我怀疑它曾经在沙盒模式下为应用程序的开发人员工作,直到最近 Facebook 暂停应用程序审查。我确实注意到的一件事(不确定是否有资格使用解决方法)是您可以使用 Facebook Graph API Explorer 应用程序(而不是您自己的应用程序)来玩转新 API,因为显然 Facebook 没有禁用对他们自己的应用程序的访问。也许您可以使用他们的应用构建一个演示以用于应用审查。 @TianChu 你确定可以使用 [Graph API] Explorer 发出 Instagram [Graph] API 请求吗?会不会是您的应用通过了两个评论中的第一个(Instagram API 产品评论),这就是您可以通过 Explorer 使用 Instagram API 的原因吗?我无法通过 Explorer 获得instagram_business_account
,并且相信这使我无法发出任何 Instagram API 请求,尤其是通过 Explorer。现在想来,这可能是 Facebook 在剑桥分析数据隐私丑闻之后采取的一项临时措施,希望它会在一段时间内解除。
@TianChu 我也有同样的问题。除非我使用 Facebook Graph API Explorer 应用程序,否则我无法发出请求。您是否找到了解决方法或使其在您的代码中工作的方法?
【参考方案1】:
看起来 Facebook 提供的文档有些误导。您实际上可以通过 Graph API Explorer(或通过从您的代码发送 GET 请求)以非常有限的方式使用 Instagram Graph API,仅在您获得第 4 步中所述的初始批准之前访问您的 instagram 企业帐户。
步骤:
-
打开图形 API 资源管理器。
首先,您需要在“访问令牌”部分添加额外的权限。该部分底部有一个“添加权限”下拉菜单。打开该下拉菜单并选择:instagram_basic、manage_pages、business_management 权限。根据您尝试执行的操作,您可能还需要其他权限(例如 instagram_manage_cmets、ads_management、manage_pages)。
选择额外权限后,单击“获取访问令牌”按钮。
现在,您拥有具有正确权限的访问令牌,并且您应该能够执行 instagram_business_account 请求。这将返回您的企业帐户的 Instagram ID,然后您可以将其用于其他请求。
完成这些步骤后,我可以通过 Instagram Graph API 为我的企业帐户获取媒体,尽管我仍在尝试找出标签请求返回空列表的原因。
【讨论】:
好吧,现在我可以得到instagram_business_account
字段。最小权限为instagram_basic
和pages_show_list
。那时我可以回去是有原因的。但我不记得细节了。让我们认为这是答案......【参考方案2】:
从您的开发者帐户转到您的应用信息中心: https://developers.facebook.com/apps/APP_ID/dashboad
转到:角色 -> 测试用户。 编辑其中一位测试用户,将其密码更改为您想要了解的密码。
完成后,从您的个人帐户注销并连接到https://facebook.com中的“测试用户”帐户
转到您的应用并单击范围为“instagram_basic”的 facebook 登录。
使用您获得的 access_token,您可以向 Graph API 询问用户的 Instagram 业务帐户。
等等。
PS:您将无法使用测试用户的 Open Graph API 工具。我的建议是在隐身模式下测试您的应用,这样它就不会干扰您的个人帐户。
更新 目前,禁止以这种方式访问 Instagram 数据,但这是访问数据的正确方式。
FB 错误信息说: (#200) 由于我们正在对 Facebook 平台进行更改,对于非活动应用程序或最近未访问此数据的应用程序暂时禁用访问此数据。 https://developers.facebook.com/status/issues/205942813488872/
【讨论】:
你能用这个用户从api获取沙箱数据吗?例如获取媒体?我仍然得到同样的错误 目前,在此访问 instagram 数据已被禁用,但这是访问数据的正确方法。 FB 说:(#200)由于我们对 Facebook 平台进行的更改,暂时禁用了非活动应用程序或最近未访问此数据的应用程序访问此数据。 developers.facebook.com/status/issues/205942813488872 是的,这就是我得到的错误。我想我至少可以访问 sanbox 数据,以便录制截屏视频以供审核 我也是.. 我希望 FB 能尽快解决这个问题【参考方案3】:如果您使用开发者帐户登录,您可以获得 Graph API 的完整功能,使用该帐户创建应用功能的视频截屏并提交
【讨论】:
请看我更新的答案。我在可以管理我的 Facebook 应用程序的帐户下登录(Facebook 登录)。它必须是这样的开发者帐户。并管理 Facebook 页面。我已经完成了第 4 步之前的所有操作。我可以做/<page-id>
,但我不能做/<page-id>?fields=instagram_business_account
。我错过了什么?我可以提出什么要求?
在 Instagram 图形 API 的情况下,开发者帐户无法访问【参考方案4】:
您必须从您的真实应用程序中创建一个测试应用程序,这些应用程序默认处于沙盒模式(开发人员模式)https://developers.facebook.com/docs/apps/test-apps/您将能够使用它访问任何 fb 权限/功能,并开发一个产品与它。准备好审核后,在您提交真实应用程序的过程中链接您的测试应用程序
【讨论】:
问题是关于 Insta Graph API以上是关于Instagram Graph API 有沙盒模式吗?的主要内容,如果未能解决你的问题,请参考以下文章
Instagram Graph API:将 ig_id 转换为 id - 从 Instagram API 迁移 => Graph API
沙盒中的 OAuthPermissionsException Instagram API
如何使用 Facebook Graph API 读取 Instagram 用户
是否可以从新的 instagram-graph-api 检索关注者列表?