我们正在尝试设置一个instagram应用程序,并通过该过程努力。尝试创建subscription时,我们现在陷入了困境。使用AWS API网关的Instagram订阅回拨 - 无效的SSL证书
我们的应用托管在AWS API网关上,该网关只能与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"
}
}
这种情况下,我们是否用我们自己的HTTPS证书,我们已经向API网关注册,或者我们是否使用股票AWS URL(https://xxxx.execute-api.us-east-1.amazonaws.com)作为回调(它也具有有效的HTTPS证书)。我已经使用SSLLabs验证了这些证书是“好的”(它们都得到了A结果)。我们的代码不会被调用(所以它不是hub.challenge
参数这就是问题的回报。Instagram的似乎拒绝HTTPS证书发起连接时。
有趣的是,如果我们使用,我们与AWS使用相同证书一台正常的机器上的API网关(EC2实例),并更改DNS的记录指向该服务器,那么它的预期,认购工程各项工作。
有没有人有Instagram的订阅使用AWS API网关时,工作?
没错。试过这两个。我们可以直接向我们的订阅回调端点发出同样的请求,并回应hub.challenge参数。我们已经启用了cloudwatch日志记录功能,并且可以从日志(和cloudwatch指标)中看到我们的API Gateway后面的Lambda进程甚至没有被调用(如果instagram拒绝HTTPS证书,这样做是有道理的,因为它实际上不会实现底层的HTTP GET调用) – agentgonzo
只是要非常清楚,当我编写“API端点”时,我的意思是“https:// xxxx.execute-api.us-east-1.amazonaws.com”和您的自定义域。通过curl请求这些端点是成功还是失败? –
对HTTPS://xxx.execute-api.us-east-1.amazonaws.com的调用失败,出现与我们的自定义域 – agentgonzo