为什么 Microsoft Teams 不向我的传出 webhook 发送请求?
Why doesn't Microsoft Teams send a request to my outgoing webhook?
我已经在 Microsoft Teams 中配置了传出 webhook,但是 @mentioning webhook 名称似乎没有向我配置的 url 发送请求。
我有一个简单的 NodeJS 服务器将所有网络请求记录到该端点,并且我已验证 url 是正确的。我什至验证了我可以手动将 HTTP POST 请求发送到我的端点,就像 the outgoing webhook documentation 所说的那样。
如果这可能会影响任何东西,webhook 名称中有空格(我的端点 url 没有)。我的传出 webhook 配置类似于以下内容:
- 名称:Webhook 名称
- 回调URL:https://subdomain.example.com/endpoint
- 描述:一个简单的描述。
我可能遗漏了什么?
我在外发 webhooks 上关注 this Mircosoft tutorial 并且 运行 遇到了同样的问题,这导致我来到这里。
在重新创建我的 webhook 并多次重新设置 the project 之后,我意识到我的 IDE 根本没有保存我的编辑。根据您的描述,您似乎 运行 遇到了类似的问题。
底线:始终遵循教程的每一步,你应该是好的。
我在使用 Microsoft Learn 模块时遇到了同样的问题,并进行了以下调试;
确保 ngrok 设置正确。在网络浏览器中打开一个浏览器,指向您在 Teams 中设置的 URL,例如
<a href="https://#########.ngrok.io/api/webhook" rel="nofollow noreferrer">https://#########.ngrok.io/api/webhook</a>
- 无响应 => 你的 ngrok 设置不正确,检查一下。
- 响应 => ngrok 代理没问题,请查看服务器命令行的输出。你应该看到类似的东西;
GET /api/webhook 404 150 - 10.932 ms
通过向您在添加到 Teams 时设置的 Webhook 名称发送消息,检查 Teams 是否能够连接到您的端点。所以在 Teams 中输入 @WebHookName some message to process
。你得到了什么;
- 是 - 快速响应(少于 5 秒),但什么都没有 - 您没有与您设置的 WebHook 通信。检查您正在使用的 Teams 团队 - 与设置挂钩的位置相同吗?挂钩名称是否正确?
- 是 - 快速响应(少于 5 秒),但错误 "Sorry, there was a problem..." - 检查服务器的控制台输出。
- 您是否看到 POST 请求 -
POST /api/webhook 200 1845 - 21.593 ms
?
- 否 - 您的代码有问题,Teams 正在通过 ngrok 与 webhook 运行 通信正常您没有从服务器获得有效响应。还要检查您是否已更新代码中的安全令牌 (/.env)
- 是 - 如果您得到快速响应(少于 5 秒),但控制台没有输出 - 您正在连接到某个东西,而不是服务器,您是 运行。检查 Teams 中的 URL,它指向其他内容。
- 是 - Teams 响应缓慢并出现错误(超过 5 秒) - 等待更长时间(喝杯咖啡休息 - 10 分钟)并再次检查控制台
- 您看到一个 POST 请求 - 半慢 -
POST /api/webhook 200 1845 - 100.231 ms
- 你很好,但是你的钩子回复时间太长了。团队需要在 5 秒内做出响应。少做点。
- 您看到一个 POST 请求 -
POST /api/webhook - - - - ms
意味着您正在访问您的服务器,但它正在超时 - 这就是我遇到的问题,结果我有一个 return message;
而我应该有 res.send(JSON.stringify(message));
导致了锁定。我需要复习我的 JavaScipt...
- 控制台输出中没有任何内容 - 如果您什么也没看到,您没有连接到正确的服务器或团队无法与您的服务器通信,请检查 Teams 中的 URL .
我已经在 Microsoft Teams 中配置了传出 webhook,但是 @mentioning webhook 名称似乎没有向我配置的 url 发送请求。
我有一个简单的 NodeJS 服务器将所有网络请求记录到该端点,并且我已验证 url 是正确的。我什至验证了我可以手动将 HTTP POST 请求发送到我的端点,就像 the outgoing webhook documentation 所说的那样。
如果这可能会影响任何东西,webhook 名称中有空格(我的端点 url 没有)。我的传出 webhook 配置类似于以下内容:
- 名称:Webhook 名称
- 回调URL:https://subdomain.example.com/endpoint
- 描述:一个简单的描述。
我可能遗漏了什么?
我在外发 webhooks 上关注 this Mircosoft tutorial 并且 运行 遇到了同样的问题,这导致我来到这里。
在重新创建我的 webhook 并多次重新设置 the project 之后,我意识到我的 IDE 根本没有保存我的编辑。根据您的描述,您似乎 运行 遇到了类似的问题。
底线:始终遵循教程的每一步,你应该是好的。
我在使用 Microsoft Learn 模块时遇到了同样的问题,并进行了以下调试;
确保 ngrok 设置正确。在网络浏览器中打开一个浏览器,指向您在 Teams 中设置的 URL,例如
<a href="https://#########.ngrok.io/api/webhook" rel="nofollow noreferrer">https://#########.ngrok.io/api/webhook</a>
- 无响应 => 你的 ngrok 设置不正确,检查一下。
- 响应 => ngrok 代理没问题,请查看服务器命令行的输出。你应该看到类似的东西;
GET /api/webhook 404 150 - 10.932 ms
通过向您在添加到 Teams 时设置的 Webhook 名称发送消息,检查 Teams 是否能够连接到您的端点。所以在 Teams 中输入
@WebHookName some message to process
。你得到了什么;- 是 - 快速响应(少于 5 秒),但什么都没有 - 您没有与您设置的 WebHook 通信。检查您正在使用的 Teams 团队 - 与设置挂钩的位置相同吗?挂钩名称是否正确?
- 是 - 快速响应(少于 5 秒),但错误 "Sorry, there was a problem..." - 检查服务器的控制台输出。
- 您是否看到 POST 请求 -
POST /api/webhook 200 1845 - 21.593 ms
?- 否 - 您的代码有问题,Teams 正在通过 ngrok 与 webhook 运行 通信正常您没有从服务器获得有效响应。还要检查您是否已更新代码中的安全令牌 (/.env)
- 是 - 如果您得到快速响应(少于 5 秒),但控制台没有输出 - 您正在连接到某个东西,而不是服务器,您是 运行。检查 Teams 中的 URL,它指向其他内容。
- 您是否看到 POST 请求 -
- 是 - Teams 响应缓慢并出现错误(超过 5 秒) - 等待更长时间(喝杯咖啡休息 - 10 分钟)并再次检查控制台
- 您看到一个 POST 请求 - 半慢 -
POST /api/webhook 200 1845 - 100.231 ms
- 你很好,但是你的钩子回复时间太长了。团队需要在 5 秒内做出响应。少做点。 - 您看到一个 POST 请求 -
POST /api/webhook - - - - ms
意味着您正在访问您的服务器,但它正在超时 - 这就是我遇到的问题,结果我有一个return message;
而我应该有res.send(JSON.stringify(message));
导致了锁定。我需要复习我的 JavaScipt... - 控制台输出中没有任何内容 - 如果您什么也没看到,您没有连接到正确的服务器或团队无法与您的服务器通信,请检查 Teams 中的 URL .
- 您看到一个 POST 请求 - 半慢 -