尝试上传图像时,Slack API 不断告诉我channel_not_found

问题描述 投票:0回答:3

就像标题所描述的那样,我似乎不知道如何上传本地图像并将其作为消息发布在 Slack 中

目前,我可以使用此处看到的 webhook url 和 axios 帖子将短信发布到 slack,没有任何问题:

const res = await axios.post(url, {
    text: 'Screenshot',
    channel: channelid

}, {
    headers: {
        authorization: `Bearer ${token}`
    }
});
    

这是脚本中不起作用的部分:

try {

    const result = await client.files.upload({

        channels: channelid,
        initial_comment: "this is the image",

        file: fs.createReadStream(fileName)
    });

    console.log(result);
} catch (error) {
    console.error(error);
}

我不明白channelid在其中一个而不是另一个中如何工作。

javascript slack-api
3个回答
0
投票

使用

xoxb
xoxp
令牌调用方法与使用 Webhook 发布消息不同。当您在 Slack Developer 设置网站上创建 Webhook 时,系统会要求您选择一个通道。 Webhook 将能够发布到该频道,而无需您的应用程序成为频道成员。使用
xoxb
令牌时,您的机器人需要是 API 调用中传递的通道的成员。如果它不是会员,您可能会收到
channel_not_found
not_in_channel
错误。


0
投票

您应该使用

将机器人添加到频道中

/邀请@bot-name


0
投票

发生这种情况的原因有多种,

  • Slack 机器人未集成到相应频道
  • Slack 机器人未受邀加入相应频道
  • 您错误地使用频道名称而不是频道ID
  • 上传文件
© www.soinside.com 2019 - 2024. All rights reserved.