我正在使用Instagram的RealTime API运行应用程序,当我订阅标签时,最初一切正常,我可以肯定地看到我的响应时间都在100秒内回到instagram但是大约一个小时,一个半小时后他们随机删除我的标签订阅。我检查,我不是速率限制所以我设置了一些东西来检查我的订阅每10分钟,如果我订阅的标签不是从Instagram返回重新订阅它。在运行时,我得到了一个订阅的响应 -
{ object: 'tag',
object_id: '...',
aspect: 'media',
callback_url: 'http://...',
type: 'subscription',
id: '4479168' }
但是当我使用API控制台再次检查我的订阅时,它显示没有订阅。
有没有人知道为什么Instagram会自动删除我的订阅。
答案 0 :(得分:2)
您确认/确认订阅了吗?你没有提到在你的问题中这样做,所以这让我觉得可能是在没有得到确认之后超时?
根据API docs POST
进行任何订阅都会触发GET
callback_url
,其中包括:
给出的示例网址是:
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会默默地删除订阅,而且无法找到答案。
解决方案是转储订阅模型,而只是轮询它们。