有一些关于Instagram's realtime API的帖子,目前还不清楚是故障是Instagram还是试图使用它的开发人员 .
我的问题是第一个订阅请求 . 我认为我的请求是正确的但我一直收到错误\“callback_url \” . 网址必须以\“http:// \”或\“https:// \”开头
请求是:
curl -X POST 'httpiptions?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&object=tag&object_id=love&aspect=media&callback_url=http://myurl.com/subscribe'
此外,当我将请求类型更改为GET而不是POST时,我正在获取包含空数据的成功消息200,而Instagram不会向我的callback_url调用POST请求 .
所以我看到它有两个问题:1)请求是POST(对我不起作用)还是GET(对我有效) . 2)为什么instagram返回空数据而不发送到callback_url .
1 回答
它必须是一个POST .
为了成功订阅并接收来自您作为订阅请求的POST的响应,您的回调URL必须做一些额外的工作,即在发送订阅请求后立即响应从Instagram发送的GET请求,验证您是callbalck URL的真正所有者 .
总之,除了接收POST之外,您的回调URL还必须响应GET请求并回显该GET请求中发送的
hub.challenge
参数 .在文档中查看该过程的详细说明:http://instagram.com/developer/realtime/
UPDATE:
现在我可以重现你描述的错误 .
问题出在你的CURL电话上 . 您应该发送一个POST请求以及相应的POST参数,但您的调用正在POST中发送POST作为GET的参数 . 实际上API应该拒绝整个请求,但它似乎部分处理参数 .
将CURL更改为:
这会执行POST并正确发送您的参数 .