首页 文章

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

提问于
浏览
0

有一些关于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

    它必须是一个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更改为:

    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并正确发送您的参数 .

相关问题