为什么我可以从终端调用我的API网关端点,而不是从Braintree的控制台调用?

时间:2017-05-02 01:25:34

标签: amazon-web-services http-post aws-api-gateway braintree

我有一个调用lambda函数的API网关。我部署了网关,并通过向端点发送POST请求,成功地从终端调用该功能。我是这样做的:

curl -H "Content-Type: application/json" -X POST -d "{\"bt_signature\":\"curl\",\"bt_payload\":\"abcsdsddsd\"}"  https://*myendpointurl*

当我在我的Braintree控制台中输入此端点时,虽然它是一个webhook网址,然后点击"检查网址"我弹出以下错误:

Last delivery unsuccessful. Invalid server response 400

当我从我的终端调用它但它不在这里时,它很有用。此外,当我在Web浏览器中输入方法的端点时,会出现以下错误消息:

{"message":"Missing Authentication Token"}

我已经仔细检查了我正在使用这个特定POST方法的写端点。奇怪的是,它可以从终端运行,但不是braintree中的webhook网址。想法?

1 个答案:

答案 0 :(得分:0)

从浏览器点击时出现“缺少身份验证令牌”的原因是浏览器会发出GET请求,而您的API是针对POST方法设置的。当您对不存在的资源/方法发出请求时,API网关将使用“缺少身份验证令牌”进行响应。 (Braintree也可能在内部生成GET请求,但我建议您检查他们的支持以确认。)

希望这有帮助, Ritisha。