我正在开发一个自定义Slack命令,通过API网关从Amazon lambda返回响应。一切都运转良好突然间我无法回电
var circle = svg.selectAll('circle')
.data(dataSet)
.enter()
.append('circle')
.attr({
r:function(d){ return d },
cx:function(d, i){ return i * 100 + 50 },
cy:50,
fill: 'white',
class:'circle_animation'
});
@-webkit-keyframes input-shadow {
0% {
box-shadow: none;
}
50% {
box-shadow: 0px 0px 26px #FFFFFF;
}
100% {
box-shadow: none;
}
}
@keyframes input-shadow {
0% {
box-shadow: none;
}
50% {
box-shadow: 0px 0px 26px #FFFFFF;
}
100% {
box-shadow: none;
}
}
circle.circle_animation {
__border-radius:100%;
__width:100px;
__height:100px;
__background: white;
-webkit-animation:input-shadow ease-in-out 2s infinite; /* Chrome, Safari, Opera */
animation:input-shadow ease-in-out 2s infinite;
}
Via Curl,响应状态为'200',我仍然正确接收了我的lambda的json响应。
由于
答案 0 :(得分:1)
这听起来像是您应用中的问题。如果要测试应用程序,只需模拟Slack在调用命令时发送的POST请求。
可以使用简单的HTML表单完成,或者如果您想要更高级的内容,请使用https://www.hurl.it/或postman。 Hurl是一个网页,邮递员是一个桌面应用程序。两者都允许您将自定义GET和POST请求发送到任何URL。 Postman是更先进的解决方案,允许进行结构化测试。
请参阅下文,了解来自Slack的斜杠命令的POST请求(来自offical documentatio)。显然,您需要调整它以适合您的配置。
token=gIkuvaNzQIHg97ATvDxqgjtO
team_id=T0001
team_domain=example
enterprise_id=E0001
enterprise_name=Globular%20Construct%20Inc
channel_id=C2147483705
channel_name=test
user_id=U2147483697
user_name=Steve
command=/weather
text=94070
response_url=https://hooks.slack.com/commands/1234/5678
到另一点。如果您希望具体帮助您解决具体问题,则需要发布您的代码。
答案 1 :(得分:1)
我与Slack团队讨论过,可以为您检查内部日志:
“遗憾的是,我们没有为开发人员提供的调试控制台 还没有“
“我可以确认Slack在收到500服务器错误时 连接到Slash命令端点。不幸的是我没有 真的有我们最后的信息“
真正的问题是在API网关级别将调用体从form转换为json。 Slack正在发送一个表单体,必须在json中为lamda进行转换。我正在关注这个帖子https://forums.aws.amazon.com/thread.jspa?messageID=673012&tstart=0#673012:
将来很高兴拥有Slack功能的日志,拥有JSON有效负载而不是形式,同时直接启用API Gateway的Cloudwatch日志以检查随机错误:)
由于