Instagram删除了标签的订阅,并且当重新订阅它时,即使成功响应也会消失

时间:2014-03-27 14:57:30

标签: api instagram

我正在使用Instagram的RealTime API运行应用程序,当我订阅标签时,最初一切正常,我可以肯定地看到我的响应时间都在100秒内回到instagram但是大约一个小时,一个半小时后他们随机删除我的标签订阅。我检查,我不是速率限制所以我设置了一些东西来检查我的订阅每10分钟,如果我订阅的标签不是从Instagram返回重新订阅它。在运行时,我得到了一个订阅的响应 -

{ object: 'tag',
  object_id: '...',
  aspect: 'media',
  callback_url: 'http://...',
  type: 'subscription',
  id: '4479168' }

但是当我使用API​​控制台再次检查我的订阅时,它显示没有订阅。

有没有人知道为什么Instagram会自动删除我的订阅。

2 个答案:

答案 0 :(得分:2)

您确认/确认订阅了吗?你没有提到在你的问题中这样做,所以这让我觉得可能是在没有得到确认之后超时?

根据API docs POST进行任何订阅都会触发GET callback_url,其中包括:

  • hub.mode - 这将设置为" subscribe"
  • hub.challenge - 这将设置为一个随机字符串,您的回调网址需要回显以验证您是否要订阅。
  • hub.verify_token - 这将设置为与订阅请求一起传入的verify_token。

给出的示例网址是:

http://your-callback.com/url/?hub.mode=subscribe&hub.challenge=15f7d1a91c1f40f8a748fd134752feb3&hub.verify_token=myVerifyToken

解析回调后,你必须发送一个包含hub.challenge值的回复,你应该有一个持久的订阅。

答案 1 :(得分:1)

据我所知,当Instagram决定你的反应速度不够快时会发生这种情况。我注意到8个单独的IP发布完全相同的订阅信息(相同的HTTP请求),我的应用程序显然有一些瞬态滞后问题。看来,如果没有立即发送响应(100毫秒),那么Instagram会默默地删除订阅,而且无法找到答案。

解决方案是转储订阅模型,而只是轮询它们。