【问题标题】:How to access Instagram feed of any user with new Graph API?如何使用新的 Graph API 访问任何用户的 Instagram 提要?
【发布时间】:2018-03-19 23:58:22
【问题描述】:

Facebook 最近推出了Instagram Graph API,它允许从连接到您的 Facebook 公司页面的 Instagram 页面获取数据,instagram.com/developers 声明:

Instagram Graph API 现在可供所有开发者使用。
对于非商业 Instagram 帐户,请继续使用现有的 Instagram API

因此,例如,如果我的公司有帐户 instagram.com/my_first_company,我只能检索它的提要,而不能检索其他人。

使用旧的 Instagram API 来检索 public_content 权限(访问任何提要)也不再是一种选择,来自old API documetation

public_content - 读取用户的任何公开个人资料信息和媒体 代表(不再接受申请)


  • 拥有public_content 权限的现有工具会怎样? (例如,有大量用于各种 CMS 的插件可以显示最近的 Instagram 照片)
  • 现在是否有任何有效的方法可以访问public_content(访问任何提要)(除了获取 Instagram 网站的 HTML 页面)?
  • 是否有计划为非商业客户启用 Graph API,何时启用?

UPD。似乎有?__a=1 端点允许在没有任何令牌的情况下访问任何公共提要的最近照片。但这不是官方的,没有人知道 Instagram 何时/是否会关闭它。如果你这样做 - 请告诉我。

UPD 2. Instagram 删除了?__a=1 端点,不确定持续多长时间,可能永远。目前访问 instagram 提要的唯一方法是废弃 instagram.com 网站,这太可怕了。

【问题讨论】:

  • 对于他们不再接受 public_content 申请的原因,我有两种说法。 1. GDPR 在 2018 年对于大多数公司来说将是一项非常难以解决的任务。 2. 他们正在努力将完整的 API 转移到 Facebook,这很有意义,因为他们的网站已经在使用 GraphQL 来查询数据。
  • Instagram Graph API 很难集成。 Facebook 在开发者部分询问了许多设置,因此对于每个人来说应该很容易,而不是那么复杂。

标签: facebook facebook-graph-api instagram instagram-api


【解决方案1】:

先决条件:您首先需要将商业 Instagram 帐户与 FB Page 关联。 https://help.instagram.com/356902681064399 - 可以从 Instagram 帐户的个人资料页面完成。

  • 获取 Instagram 企业帐户 ID: graph.facebook.com/v2.8/<fbPageId>?fields=instagram_business_account。 (fbPageId 是该帐户所链接的 Facebook 页面的页面 ID)

  • 获取 Instagram 媒体源:graph.facebook.com/v2.8/<igBusinessId>/media 获取 Instagram 帐户的媒体源。 (igBusinessId 是上面链接的instagram_business_account 中返回的 ID) - 根据页面 access_token,这仍然是拥有的媒体。不是任何其他用户的供稿。

  • here 提到的所有其他端点(例如 cmets 审核、详细洞察 API)都适用于上述调用返回的商业媒体列表。

请注意: 这仍然不允许获取未经身份验证的用户的 Instagram 提要。现在通过 API 是不可能的。没有通过 API 到达public_content 范围的有效方法。启用此功能的 Instagram 营销合作伙伴可能很少。但是,总的来说,现在不推荐使用范围!

目前,为了使 FB 图形 API 工作,我们需要将业务页面链接到 Instagram 帐户。如上 apis 使用页面令牌。

【讨论】:

  • 当我触发这个链接时,我得到了这样的错误。错误”:{“消息”:“请求此资源需要访问令牌。”,“类型”:“OAuthException”,“代码”:104,“fbtrace_id”:“B/FAne8n7Kq”}
  • 你需要通过OAuth2获取token并传递
  • @enator 你能澄清一下如何获取 以及与 access_token 一起调用的内容吗?
  • 你需要让用户选择链接的fb页面来获取fbPageId。通常,facebook graph API 的me/accounts 会给出当前用户的页面。这可以是多个页面 - 其中任何一个都可以是用户已关联到企业帐户的链接页面。我不确定我们是否可以从 instagram 帐户 id 获得这个链接的 fbPageId。
  • 我已经将我的 Instagram 商业帐户连接到我在 Facebook 上的页面。但是当我使用 Facebook 的 Graph Explorer 尝试获取“instagram_business_account”时,它没有返回任何结果。但是当我查询“instagram_accounts”时" 它返回我的 instagram 帐户的 ID,但这意味着我不能使用它来获取 "/cmets、/media 等。" .. 你知道为什么会这样吗? P.S 我也尝试了取消链接和再次链接的事情,但它仍然没有工作.. 谢谢!
【解决方案2】:

您可以使用给定的here 的 business_discovery API 使用您的 FB access_token 获取有关任何 IG 业务帐户的信息。

  • 您必须拥有 IG 企业帐户才能使用您的 IG 企业帐户的 ID 作为节点来读取其他用户数据,例如 user_info 或媒体详细信息。

例如:

GET graph.facebook.com/[YOUR-IG-BUSINESS-ACCOUNT-ID]?fields=business_discovery.username(USERNAME){media{caption,media_url,media_type,like_count,cmets_count,id}}

【讨论】:

  • 这在 2020 年 1 月 28 日仍然有效。通过 Facebook 直接通过AppReview 后,您可以提供您的 IG-BUSINESS-ACCOUNT-ID 和您的访问令牌以检索其他帐户信息。
猜你喜欢
  • 1970-01-01
  • 2020-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多