【问题标题】:Posting to Slack channels with bot access token使用机器人访问令牌发布到 Slack 频道
【发布时间】:2019-05-22 01:46:32
【问题描述】:

我访问了https://api.slack.com/apps/APP_ID/oauth 并更新了范围以包括files:write:user,单击保存更改并重新安装了我的应用程序以确保范围更改生效。

我执行以下操作以发布到我的机器人所属的频道:

web.files
  .upload({
    filename,
    file: fs.createReadStream(filename),
    channels: ['{CHANNEL_ID}']
  })

但是,我仍然收到以下错误消息:

{ ok: false,
  error: 'invalid_channel',
  channel: '["{CHANNEL_ID}"]',
  scopes: [ 'identify', 'bot:basic' ],
  acceptedScopes: [ 'files:write:user', 'post' ] } }

我做错了什么?

【问题讨论】:

    标签: slack slack-api


    【解决方案1】:

    就我而言,这是因为尚未邀请机器人用户加入频道。将它们添加到私人 Slack 频道解决了这个问题。

    【讨论】:

      【解决方案2】:

      我的错误是我使用的是频道 ID 的 array,而不是 what the library expects,它是一个包含以下内容的字符串:

      频道名称或 ID 的逗号分隔列表

      【讨论】:

        【解决方案3】:

        错误消息invalid_channel 与范围无关,只是表示 Slack 无法识别您通过 API 调用提供的通道之一。

        官方文档说:

        invalid_channel: 提供的一个或多个频道无效

        因此,您可能需要仔细检查您是否获得了正确的频道 ID。

        来源:https://api.slack.com/methods/files.upload#errors

        【讨论】:

        • 我使用相同的令牌从channels.list request 的结果中获取了频道 ID。它需要以字母C 开头的id,即channels: ['CXXXXXXXX'],对吧?
        猜你喜欢
        • 2017-09-02
        • 2022-06-17
        • 1970-01-01
        • 2021-05-11
        • 2017-03-18
        • 1970-01-01
        • 1970-01-01
        • 2020-03-20
        • 2016-11-07
        相关资源
        最近更新 更多