【发布时间】:2016-08-17 19:37:22
【问题描述】:
我们正在尝试设置一个 instagram 应用,并且已经完成了整个过程。我们现在在尝试创建 subscription 时遇到了困难。
我们的应用托管在 AWS API Gateway 上,只能使用 HTTPS 端点部署(它不支持未加密的连接)。 当我们使用以下方式执行 POST 以让 instagram 订阅用户时:
curl -F 'client_id=CLIENT-ID' \
-F 'client_secret=CLIENT-SECRET' \
-F 'object=user' \
-F 'aspect=media' \
-F 'verify_token=myVerifyToken' \
-F 'callback_url=https://YOUR-CALLBACK/URL' \
https://api.instagram.com/v1/subscriptions/
然后我们得到以下错误:
{
"meta": {
"error_type": "APISubscriptionError",
"code": 400,
"error_message": "Invalid response"
}
}
无论我们使用我们自己在 API Gateway 中注册的 HTTPS 证书,还是使用股票 AWS URL (https://xxxx.execute-api.us-east-1.amazonaws.com) 作为回调(也具有有效的 HTTPS 证书),都会发生这种情况。我已经使用 SSLLabs 验证了证书是“好”的(它们都得到了 A 结果)。我们的代码永远不会被调用(所以问题不是返回 hub.challenge 参数。Instagram 似乎在启动连接时拒绝了 HTTPS 证书。
有趣的是,如果我们在普通机器(EC2 实例)上使用与 AWS API Gateway 一起使用的 same 证书,并将 DNS 记录更改为指向该服务器,那么一切都会按预期工作并且订阅有效。
是否有人在使用 AWS API Gateway 时让 Instagram 订阅正常工作?
【问题讨论】:
标签: https instagram-api aws-api-gateway