基于 Google 电子表格中日期的松弛消息

Slack message based on date in Google Spreadsheet

我有一个包含多个付款日期的电子表格,我想创建一个 slackbot 以 post 当一个特定列中的日期与今天的日期匹配时向 Slack 发送消息。我对编码很陌生,我正在使用我发现的代码来发送电子邮件,但找不到任何关于 post 将它发送到 Slack 的信息。有人可以帮帮我吗?

这是我用来发送电子邮件的代码:

function emailAlert() {
  // today's date information
  var today = new Date();
  var todayMonth = today.getMonth() + 1;
  var todayDay = today.getDate();
  var todayYear = today.getFullYear();

  // getting data from spreadsheet
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; // First row of data to process
  var numRows = 100; // Number of rows to process

  var dataRange = sheet.getRange(startRow, 1, numRows, 999);
  var data = dataRange.getValues();

  //looping through all of the rows
  for (var i = 0; i < data.length; ++i) {
    var row = data[i];

    var expireDateFormat = Utilities.formatDate(
      new Date(row[6]),
      'ET',
      'yyyy/MM/dd'
    );

    // email information
    var subject = '';
    var message =
      'Hello' +
      '\n' +
      '\n' +
        'These are the due dates for today:' +
      '\n' +
      '\n' +
      ' ID number: ' +
      row[0] +
      '\n' +
      ' Name: ' +
      row[1] +
      '\n' +
      ' Due date: ' +
      expireDateFormat;

    //expiration date information
    var expireDateMonth = new Date(row[6]).getMonth() + 1;
    var expireDateDay = new Date(row[6]).getDate();
    var expireDateYear = new Date(row[6]).getFullYear();

    //checking for today
    if (
      expireDateYear === todayYear &&
      expireDateMonth === todayMonth &&
      expireDateDay === todayDay
      
    ) 
    {
      var subject =
        'Due date ' + row[1] + ' - ' + expireDateFormat;
      MailApp.sendEmail('email address here', subject, message);
      Logger.log('todayyyy!');
    }
  }
}

这是一个 http post 请求,展示了如何将 post 发送到 Slack

POST https://slack.com/api/chat.postMessage
Content-type: application/json
Authorization: Bearer xoxb-your-token
{
  "channel": "YOUR_CHANNEL_ID",
  "text": "Hello world :tada:"
}

查出更多信息来自:https://api.slack.com/messaging/sending