【问题标题】:Error: An API error occurred: invalid_auth错误:发生 API 错误:invalid_auth
【发布时间】:2020-03-31 13:57:41
【问题描述】:

嗨,我正在编写我的 slack 机器人,我想在选择后将 prev 消息更改为新的变量,这是我在选择后触发的操作:

slackInteractions.action({ type: "static_select" }, (payload, res) => {
  console.log(payload);
  web.chat
    .update({
      token: slackSigningSecret,
      channel: payload.container.channel_id,
      ts: payload.container.message_ts,
      as_user: true,
      text: "Hello World"
    })
    .catch(err => {
      console.log(err);
    });
});

我得到了错误:

Error: An API error occurred: invalid_auth
    at Object.platformErrorFromResult (/home/codex/Documents/dan-bot/node_modules/@slack/web-api/dist/errors.js:50:33)
    at WebClient.apiCall (/home/codex/Documents/dan-bot/node_modules/@slack/web-api/dist/WebClient.js:485:28)
    at processTicksAndRejections (internal/process/task_queues.js:97:5) {
  code: 'slack_webapi_platform_error',
  data: { ok: false, error: 'invalid_auth', response_metadata: {} }
}

这是有效载荷:

{
  type: 'block_actions',
  team: { id: '//', domain: '*** },
  user: {
    id: 'U010Q9X59QT',
    username: '**',
    name: '***',
    team_id: '//'
  },
  api_app_id: '///',
  token: '***',
  container: {
    type: 'message',
    message_ts: '1585662258.008100',
    channel_id: '****',
    is_ephemeral: true
  },
  trigger_id: '1038328652789.1035324920279.b84d3403b8e44ab0cd53c997ba8b4c72',
  channel: { id: '***', name: 'directmessage' },
  response_url: 'https://hooks.slack.com/actions/T01119JT287/1040413692903/6TWTQqXhcp453TPREb7uRcPn',
  actions: [
    {
      type: 'static_select',
      action_id: 'wkR',
      block_id: 'LM9',
      selected_option: [Object],
      placeholder: [Object],
      action_ts: '1585662260.040519'
    }
  ]
}

作为令牌,我使用我的主要松弛令牌,使用它我试图将我看到变体的块更改为另一个块,目前试图更改为字符串“Hello world” 谢谢转发!!!

【问题讨论】:

    标签: javascript node.js slack-api


    【解决方案1】:

    回顾他们的 chat.update 文档,该令牌应该是您在 Oauth & Permissions 选项卡上看到的访问令牌,它以 xoxbxoxp 开头。请在此处查看有关他们的 Oauth 文档的更多信息:https://api.slack.com/authentication/oauth-v2

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,最终发现这是由于传递了错误的令牌(复制粘贴问题)造成的。

      是什么帮助我调试它:

      1. 检查令牌的结构。大多数现代令牌以 xoxb- 开头,长度为 56 个字符
      2. 在将令牌包装到代码中之前测试令牌是否有效,例如使用Slack's auth test API

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-04
        • 2018-01-16
        • 1970-01-01
        • 2012-04-07
        • 2017-06-21
        相关资源
        最近更新 更多