Instagram实时API - 获取空数据,没有回复的POST请求

时间:2014-12-10 17:34:32

标签: instagram instagram-api

有一些关于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 个答案:

答案 0 :(得分:0)

必须是POST。

为了成功订阅并接收来自您作为订阅请求的POST的响应,您的回调URL必须做一些额外的工作,也就是在发送之后立即响应从Instagram发送的GET请求订阅请求,以验证您是callbalck URL的真正所有者。

总之,除了接收POST之外,您的回调URL还必须响应GET请求并回显该GET请求中发送的hub.challenge参数。

在文档中查看流程的详细说明:http://instagram.com/developer/realtime/

<强>更新

现在我可以重现您描述的错误。

问题出在你的CURL电话上。您应该发送一个POST请求以及相应的POST参数,但您的调用正在POST中发送POST作为GET的参数。实际上API应该拒绝整个请求,但它似乎部分处理参数。

将CURL更改为:

curl -F 'client_id=CLIENT-ID' \
     -F 'client_secret=CLIENT-SECRET' \
     -F 'object=user' \
     -F 'aspect=media' \
     -F 'verify_token=myVerifyToken' \
     -F 'callback_url=http://YOUR-CALLBACK/URL' \
     https://api.instagram.com/v1/subscriptions/

执行POST操作并正确发送参数。