【发布时间】:2013-08-16 19:14:22
【问题描述】:
我可以使用相同的 access_token 获得 任何用户 供稿是否正常?这里有两个例子。第一个来自测试帐户,这是我应该可以访问的。第二个来自 ImagineDragons 的 Instagram 供稿。
如果是这样,为什么我必须请求 access_token 才能执行请求?
【问题讨论】:
我可以使用相同的 access_token 获得 任何用户 供稿是否正常?这里有两个例子。第一个来自测试帐户,这是我应该可以访问的。第二个来自 ImagineDragons 的 Instagram 供稿。
如果是这样,为什么我必须请求 access_token 才能执行请求?
【问题讨论】:
需要令牌,因此无法匿名访问 API。 Instagram 照片是公开的,除非用户明确将其帐户设置为私密。因此,能够使用单个有效令牌访问任何公共用户帐户的提要是正常的。
令牌不会绕过用户的设置。如果您尝试访问标记为私有的帐户,您将不会得到任何结果,而是会收到以下响应:
{"meta":{"error_type":"APINotAllowedError","code":400,"error_message":"you cannot view this resource"}}
【讨论】:
大多数 API 都是这样工作的。即使您正在请求公共数据(例如,Imagine Dragon 的 Instagram 订阅源),他们也想知道是谁在提出请求。他们可能正在跟踪它,以确保没有人每天打十亿个电话。
【讨论】:
根据:Instagram Developer Documentation
您尝试进行的 API 调用始终需要access_token。这样做通常是为了防止机器人不断地爬过最近的列表来获取图像等。 Instagram 可以防止这种情况的唯一方法是通过这种access_token 方法。获得令牌后,您就可以浏览任何用户的提要,就像您可以在相应用户的网页上一样。如果您不希望用户登录以查看某个最近的列表,您可以在 Instagram 注册一个虚拟帐户,登录一次,并存储其access_token,将其与您的应用程序捆绑,您将能够请求最近的提要,而不提示用户登录。我确信这不是解决此问题的公认方法,主要是因为根据文档,access_token 可能随时更改,从而使您的应用程序无法运行。当然,即使是这种情况也有解决方案。总而言之,我认为如果您想在没有access_token 的情况下请求此类数据,请尝试我的“解决方案”。
【讨论】: