Slack 按钮在按下时给出“此应用程序响应 400 代码”错误

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

我创建了一个 Slack 机器人,它发送一条 Slack 消息,然后按下该按钮下方的按钮,该按钮会变成红色,仅此而已。当按下时,我不断收到“此应用程序响应了 400 代码”。

当我按下按钮时,一切都很好接受。

任何帮助将不胜感激!

    function sendSlackMessage(message, row) {
  var slackUrl = 'https://hooks.slack.com/services/XXXXX';
  var payload = {
    'text': '',
    'blocks': [
      {
        'type': 'section',
        'text': {
          'type': 'mrkdwn',
          'text': message
        }
      },
      {
        'type': 'actions',
        'elements': [
          {
            'type': 'button',
            'text': {
              'type': 'plain_text',
              'emoji': true,
              'text': 'Sent To Client'
            },
            'style': 'primary',
            'value': row.toString(),
            'action_id': 'approve_button'
          },
        ]
      }
    ]
  };

  var options = {
    'method': 'post',
    'contentType': 'application/json',
    'payload': JSON.stringify(payload)
  };

  var response = UrlFetchApp.fetch(slackUrl, options);
  Logger.log('Response from Slack: ' + response.getContentText());

  // Check if the button was clicked
  var data;
  try {
    data = JSON.parse(response.getContentText());
  } catch (e) {
    Logger.log('Error parsing response from Slack: ' + response.getContentText());
    return;
  }

if (data.actions && data.actions.length > 0 && data.actions[0].action_id === 'approve_button') {
  // Update the button to show a checkmark and change the color to red
  payload.blocks[1].elements[0].text = {
    'type': 'plain_text',
    'emoji': true,
    'text': 'Sent To Client :heavy_check_mark:'
  };
  payload.blocks[1].elements[0].style = 'danger';
  payload.blocks[1].elements[0].disabled = true;
  options.payload = JSON.stringify(payload);
  UrlFetchApp.fetch(data.response_url, options);
  Logger.log('Response from Slack: ' + response.getContentText());
}
}
javascript google-apps-script slack
1个回答
0
投票

这与我现在使用 Bolt javascript 应用程序遇到的问题相同。对于某些用户来说,它会起作用,但对其他人来说则不会。

© www.soinside.com 2019 - 2024. All rights reserved.