无法通过Facebook Graph API

时间:2018-06-05 22:26:46

标签: facebook-graph-api instagram

我试图通过Facebook Graph API访问我的Instagram商业帐户的媒体。我按照本指南操作: https://developers.facebook.com/docs/instagram-api/getting-started/

我已根据要求设置了所有内容:我有一个Instagram商业帐户,一个连接到此帐户的Facebook页面和一个Facebook应用程序。

在第5步中,当我尝试使用

获取Instagram帐户ID时

GET /v3.0/{page id}?fields=instagram_business_account

我得到的反应看起来与指南中的反应不同。 Instagram商业帐户字段丢失,我只返回Facebook页面的ID,我已经拥有。

有没有人知道这里可能出现什么问题?

9 个答案:

答案 0 :(得分:7)

使用manage_pages权限尝试以下查询。

/v3.0/me/accounts?fields=name,id,access_token,instagram_business_account{id,username,profile_picture_url}

我正在审查过程中,无法理解

所需的权限
  1. 获取Instagram企业帐户
  2. 订阅instagram_story_insights Webhook

我只能通过拥有manage_pages权限来获得1。但是我不想管理页面,只想获取Instagram企业帐户并请求提供见解,提要和个人资料。

对于2。我仅找到/subscribe端点,它需要Facebook页面访问令牌,并且只有获得manage_pages权限才能使用。

答案 1 :(得分:5)

最近两天以来我一直面临这个问题,并且突然开始了。

通过执行以下步骤,我能够解决此问题。

  1. 将您的Instagram商业帐户转换回个人帐户。
  2. 现在通过唯一的Facebook网站(而不是instagram本地应用程序)将您的个人帐户转换为企业帐户。

重要提示:我们需要通过唯一的facebook将个人帐户转换为企业帐户。

答案 2 :(得分:1)

Facebook Graph API 4.0仅支持Instagram商业帐户。 Creator instagram帐户无法在图API上使用。

查看下面的图片,以从图形API获取instagram ID

Click to View for Graph API Response

答案 3 :(得分:0)

鉴于Facebook帐户具有链接到Instagram帐户的页面(带有{page id})。我们通过

通过浏览器(HTTPS Get)获取了ID

https://graph.facebook.com/v3.0/ {page_id}?fields = instagram_business_account&access_token = {具有正确权限的访问令牌}

令牌是使用Facebook的Graph Explorer手动生成的

https://developers.facebook.com/tools/explorer/v2/

选择“用户令牌”选项,并通过UI添加权限“ business_management”,“ manage_pages”和“ instagram_basic”。点击“获取访问令牌”按钮以生成要与上面的“ instagram_business_account” URL查询一起使用的令牌。

要从链接的Facebook页面获取图像,我们目前正在

https://graph.facebook.com/v3.0/ {instagram_business_account} / media?fields = id,名称,media_url,media_type,timestamp&access_token = {具有正确权限的访问令牌}

顺便说一句,我们的Facebook帐户确实创建了一个应用程序,因此,当UI要求时,我们可以在Facebook Graph API Explorer工具中选择该应用程序。

有了正确的权限,您就可以将这些步骤隐藏到代码中。

答案 4 :(得分:0)

我正面临着同样的问题,我认为那是因为以下两个原因之一:

  1. Graph API已更新其政策,并要求所有应用都要进行业务验证,这是应用审核流程的一部分。一旦您的应用程序通过验证,您就可以拨打电话。

  2. 您的应用处于实时模式。关闭它,使其从您的应用程序仪表板进入开发模式。现在,您可以访问所有api调用。从图形api资源管理器中选择manage_pages和instagram_basic权限。现在您可以发出请求。

答案 5 :(得分:0)

我们发现发生这种情况的原因有两个:

  • Instagram个人资料未正确与Facebook页面关联(即,转换后的人无权访问您的页面)。
  • 将Instagram转换为业务并连接到该页面的人不再是该页面的管理员
  • 您使用Facebook页面设置将页面和Instagram连接在一起-该屏幕肯定无法正常工作。
  • 确保您的应用已批准 business_management 权限,并且在用户对Facebook进行身份验证时要求您提供该权限。

在所有情况下,将instagram转换回个人版本,然后再将其转换为业务版本,即可解决此问题。

答案 6 :(得分:0)

希望您现在已经知道了。我遇到了与您完全一样的问题,在那里我只会得到我页面的ID。

解决方案是为用户访问令牌添加正确的权限。

在进行API调用时,您需要使用具有 manage_pages instagram_basic 权限的用户访问令牌

GET /v3.0/{page id}?fields=instagram_business_account

答案 7 :(得分:0)

我面临着同样的问题,但是我找到了解决方案。开始时,请确保您的instagram帐户应为企业帐户或创建者帐户。 然后将其与来自Facebook网站的facebook链接。 仅当我们使用个人帐户而非创建者或公司帐户时,错误才会出现。

这是我的输出。

enter image description here

答案 8 :(得分:0)

再向您的身份验证请求添加一个权限:pages_read_engagement。无需访问manage_pages或公共内容即可获取Instagram ID。