无法通过 Facebook Graph API 获取 Instagram 企业帐户 ID

Posted

技术标签:

【中文标题】无法通过 Facebook Graph API 获取 Instagram 企业帐户 ID【英文标题】:Can't get Instagram Business Account ID through Facebook Graph API 【发布时间】:2018-06-05 22:26:46 【问题描述】:

我正在尝试通过 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。

有人知道这里有什么问题吗?

【问题讨论】:

这个运气好吗?我也有同样的问题。 这以前对我有用,但今天早上再次尝试时,它不再有效,我不知道为什么。 目前似乎有一个已知错误,请参阅developers.facebook.com/support/bugs/177912116363088/… 这个已知的错误是在 5 月 9 日报告的,随着时间的推移,它似乎会影响更多的人。 问题已解决。请在此处查看我的答案:***.com/questions/52007928/instagram-graph-api/… 【参考方案1】:

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

/v3.0/me/accounts?fields=name,id,access_token,instagram_business_accountid,username,profile_picture_url

我正在经历审核过程,无法理解所需的权限

    获取 Instagram 企业帐户 订阅 instagram_story_insights 网络挂钩

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

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

【讨论】:

这个问题应该被批准回答!【参考方案2】:

我从前 2 天开始就遇到了这个问题,它是突然开始的。

我可以通过以下步骤解决此问题。

    将您的 Instagram 企业帐户转换回个人帐户。 现在将您的个人帐户转换为企业帐户通过唯一不在 Instagram 原生应用上的 facebook 网站。

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

【讨论】:

非常感谢,这成功了。为了向其他人澄清,我在我的 Facebook 页面的设置中登录了 Instagram,并将我的个人帐户转换为那里的企业帐户。现在我可以按预期获取字段 instagram_business_account。【参考方案3】:

希望您现在已经想通了。我遇到了和你一样的问题,我只能得到我的页面的 id。

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

当您调用 API 时,您需要使用具有 ma​​nage_pagesinstagram_basic 权限的用户访问令牌

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

【讨论】:

【参考方案4】:

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

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

在所有情况下,将 instagram 转换回个人版,然后将其重新转换为商业版可以解决问题。

【讨论】:

【参考方案5】:

Facebook Graph API 4.0 仅支持 Instagram 企业帐户。 Creator instagram 帐户不适用于图形 api。

查看下面的图片以从图形 api 获取 instagram id

Click to View for Graph API Response

【讨论】:

【参考方案6】:

鉴于 Facebook 帐户有一个页面(带有 page id)链接到 Instagram 帐户。我们设法通过浏览器(HTTPS Get)获取 ids

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”网址查询一起使用的令牌。

为了从链接的 Facebook 页面获取图片,我们目前这样做

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

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

有了正确的权限,就可以将这些步骤转换成代码。

【讨论】:

对我来说,让一切正常的关键是在获取访问令牌之前在 Facebook Graph Explorer UI 上添加“instagram_basic”权限。 Facebook 文档说您只需要 UI 上的“manage_pages”权限,但您也必须添加“instagram_basic”。【参考方案7】:

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

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

    您的应用处于实时模式。将其关闭,以便它从您的应用仪表板进入开发模式。现在您可以访问所有 api 调用。从 graph api explorer 中选择 manage_pages 和 instagram_basic 权限。现在您可以提出请求了。

【讨论】:

【参考方案8】:

我遇到了同样的问题,但我找到了解决方案。一开始请确保您的 Instagram 帐户应该是企业帐户或创作者帐户。 然后将其与 Facebook 网站上的 facebook 链接。 只有当我们使用个人帐户而不是 Creator 或 Business 时才会出现错误。

这是我现在的输出。

【讨论】:

【参考方案9】:

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

【讨论】:

【参考方案10】:

我遇到了同样的问题,我已经解决了。按照以下步骤获取 Instagram 商家 ID。

(假设您已经拥有访问令牌)

第 1 步:首先获取 Facebook ID [GET v11.0/me?access_token=your_access_token]


    "name": "your facebook page name",
    "id": "facebook_page_id"

第 2 步:确保启用 ma​​nage_pagesbusiness_managementinstagram_basic 权限。可以使用 Graph API Explorer 轻松完成。

第 3 步:使用 Facebook ID,我们可以获得 Instagram 商家 ID [ GET /v11.0/facebook_page_id?fields=instagram_business_account?access_token=your_access_token ]


    "instagram_business_account":              
    "id": "insta_business_id"


第 4 步:如果您在点击第 3 步中提到的端点后仅获得 Facebook ID,则使用您的移动设备切换回您的个人帐户。再次启用业务帐户并再次发出 HTTP 请求。这种方法在获取 Instagram 业务 ID 方面对我有用。

【讨论】:

【参考方案11】:

终于解决了。这是我为完成它所做的。 我没有使用业务经理。我面临的问题是因为我的 facebook 帐户未正确连接到 instagram 帐户。我以为我用我的 facebook 帐户创建了 instagram 帐户,所以他们以某种方式连接起来。这不是问题所在。将 instagram 帐户切换到企业将不起作用。您需要将您的 instagram 帐户连接到您的 Facebook 业务页面。

    转到您的页面 转到您的页面设置 查找 instagram > 你会看到连接。在这里,通过使用 facebook 登录从这里连接到 instagram 时我遇到了一些问题,这是行不通的。进行传统的电子邮件密码连接。 如果连接成功,最后一步会要求您切换帐户。点击按钮即可完成。

【讨论】:

【参考方案12】:

经过一整天的网络搜索(毫无用处)和阅读 Facebook/Instagram API 文档(有时会产生误导),我仍然无法成功获取 Instagram 企业帐户 ID 来提出以下请求使用它,就像 ig_hashtag_search 请求一样。

那时我决定忽略网络上的所有内容,相信上帝,并开始使用 Graph API Explorer 的自动完成功能来尝试理解整个事情!

终于成功了!

在开始实际步骤之前,请确保将 Facebook 和 Instagram 帐户都正确配置为企业帐户!我不知道这是否是巴西版 Instagram 网站的错误,但将普通 Instagram 帐户转换为企业帐户的过程只能使用原生 Instagram android 应用程序完成。特别是您将 Instagram 帐户链接到应该已经存在并且应该已经使用 Meta Business Suite 创建的 Facebook 页面的部分。

再一次,对我而言,截至今天,巴西版 Instagram 网站中缺少公共商业信息部分!

配置并正确链接帐户后,可以使用 Graph API v12.0 进行调用。

第一步

访问Graph API Explorer。

第 2 步

添加以下权限:

ads_management business_management instagram_basic public_profile

第三步

使用屏幕上的按钮生成访问令牌(在弹出窗口中,确保使用已正确链接和配置 Facebook Business 和 Instagram Business 帐户的 Facebook 帐户登录)。

第四步

获取Access Token后,获取所有企业ID

GET https://graph.facebook.com/v12.0/me/businesses?access_token=xxx

在 Graph API Explorer 中,您只能输入以下内容:

me/businesses

响应应该是这样的:


  "data": [
    
      "id": "BUSINESS_ID",
      "name": "Business Name"
    
  ],
  ...

第 5 步

使用 BUSINESS_ID 最终获得 Instagram 企业帐户 ID

GET https://graph.facebook.com/v12.0/BUSINESS_ID/instagram_business_accounts?access_token=xxx

在 Graph API Explorer 中,您只能输入以下内容:

BUSINESS_ID/instagram_business_accounts

响应应该是这样的:


  "data": [
    
      "id": "INSTAGRAM_BUSINESS_ACCOUNT_ID"
    
  ],
  ...

就是这样!

如果一切正常,您可以使用此INSTAGRAM_BUSINESS_ACCOUNT_ID 发出所需的请求,例如ig_hashtag_searchrecent_media 请求:

GET https://graph.facebook.com/v12.0/ig_hashtag_search?user_id=INSTAGRAM_BUSINESS_ACCOUNT_ID&q=DESIRED_HASHTAG&access_token=xxx

在 Graph API Explorer 中,您只能输入以下内容:

ig_hashtag_search?user_id=INSTAGRAM_BUSINESS_ACCOUNT_ID&q=DESIRED_HASHTAG

响应应该是这样的:


  "data": [
    
      "id": "HASHTAG_ID"
    
  ]

希望有所帮助! ?

【讨论】:

以上是关于无法通过 Facebook Graph API 获取 Instagram 企业帐户 ID的主要内容,如果未能解决你的问题,请参考以下文章

使用 Graph api 获取 Facebook 页面率和评论

无法使用 Graph API 将事件导出到 Facebook

PHP中的Facebook Graph API出现不一致的错误 - 无法连接到graph.facebook.com端口443:连接超时

Facebook iOS SDK(Graph API) 无法访问公共页面信息

未通过 Graph API 接收 Facebook 图片

如何通过 facebook graph api 获取***故事讲述者用户 ID