Instagram API 没有为沙盒用户找到任何喜欢的帖子

Instagram API doesn’t find any liked posts for sandbox users

我在沙盒模式下使用 Instagram API。我正在尝试使用经过身份验证的访问令牌从 Instagram API 访问用户喜欢的帖子。此用户是我的应用程序接受的沙盒用户之一,并且喜欢一些帖子。

如果我用相同的令牌调用其他端点,我会得到一些数据,但访问 /users/self/media/liked return 的空数据。

我正在使用这个 URL:

https://api.instagram.com/v1/users/self/media/liked?access_token={verified access token}

这是我收到的结果:

{"pagination": {}, "meta": {"code": 200}, "data": []}

因为它有一个 200 return 代码,所以访问令牌是有效的。那为什么我看不到任何喜欢的帖子?

当您的应用在沙盒模式下运行时,与正常行为相比会受到限制。特别是(引用自the API docs for the sandbox):

The API behaves as if the only users on Instagram were your sandbox users, and the only media ever posted were the last 20 for each of these users.

因此 API 看不到用户喜欢的帖子,如果这些帖子是由非沙盒用户创建的。


这是一个场景:

假设:

  1. 假设全世界有 100 个 instagram 用户(我知道的更多,只是为了举例!)。
  2. 名为 APP1 的应用已上线且未处于沙盒模式。
  3. 名为 APP2 的应用程序处于沙盒模式[意味着尚未上线!]。
  4. APP2 有 5 个经过验证和注册的 沙盒用户

现在,正如 Instagram 文档所说:这里将是黑盒流程。

情况 1:: APP1 尝试接受 sandbox/non-sandbox 用户的点赞 - 结果:它获取了他们的数据。原因:对于实时应用程序,应用程序可见的用户数是 instagram 上可用的用户数。

情况2::APP2尝试接受用户点赞: 对于沙盒用户 - 它只会获取用户注册为该应用的沙盒用户的那些数据(如此处所示)。非沙盒用户的任何其他喜欢都不会在此处显示。 {如果有5个用户,如果有用户喜欢这5个用户的任何内容,它就会被看到。} 对于非沙盒用户 - 用户不可见!

我错过了 visibility 的最后一部分,这需要我进行一些研究和相互关联才能找到答案。我想可能还有其他开发人员可能不了解文档的沙箱用户可见性部分。

如果有人在 6 月 1 日之后遇到此问题,可以使用 instagram.pixelunion.net

更轻松地绕过该沙箱问题

后来我找到了一个更好用的 services.chrisriversdesign.com/instagram-token/

简单的解决方案,比如一张你自己的 Instagram 图片。这样你的 "recent likes" 就会增加另一个沙盒用户(你)的喜欢,并且不会为空。

如果还是得到

{"pagination": {}, "meta": {"code": 200}, "data": []}

其他电话,例如

https://api.instagram.com/v1/users/self/media/recent?access_token=732...

确保通过转到设置->隐私和安全(选项卡)->帐户隐私(部分)来调用 public 帐户,取消选中 'Private Account'。 Instagram 最近通过更严格的 API 更改重新定义了隐私。