我正在创建一个 Slack 应用程序。所以我需要获取团队详细信息。所以我正在调用 users.list
API。但它给我一个 invalid_auth
错误。
我验证了 token ,我的 token 是正确的。当我向 slack 的测试人员发出请求时 tab它返回给我团队的所有用户列表。
您可以在下图中看到我得到了正确的响应,但我的代码抛出了 invalid_auth
错误。
下面是我的代码
import request from 'request';
const get = async (uri, token) => new Promise((resolve, reject) => {
request.get(`https://slack.com/api/users.list`, {
qs: { token }
}, (_, response) => {
//some code
});
});
我在这里缺少什么?
根据 Slack 的文档,要么提供的 token 无效,要么请求来自不允许发出请求的 IP 地址。
在我的例子中 token 是正确的,所以我需要添加 IP 地址机?如果是这样,那么在哪里添加它?
如果有人能在这里帮助我,那就太好了。
提前致谢!
最佳答案
我有一个非常相似的问题,无法弄清楚它到底是怎么回事。将 token 添加到授权 header 也不起作用。
在 Slack 测试仪中一切正常,但来自 React 的请求总是得到 invalid_auth
。
检查从 Slack 测试器发送的请求后,我发现它是作为表单数据发送的。为了模仿这一点,我做了以下操作:
const bodyFormData = new FormData();
bodyFormData.append("token", data.access_token);
bodyFormData.append("team", slackUser.data.user.team_id);
const slackTeam = await axios.post(
"https://slack.com/api/team.info",
bodyFormData,
{
headers: { "Content-Type": "multipart/form-data" },
}
);
那是成功的。
关于node.js - Slack users.list api 在传递有效 token 时也会抛出 invalid_auth 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68903694/