0

我已经使用我在网上找到的脚本变体成功地将 paypal ipn 数据添加到我的谷歌表格中。

 function doPost(e) {

  var rowData = [];

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getActiveSheet()

  rowData.push(new Date(e.parameter.payment_date));
    rowData.push(e.parameter.payment_type);
    rowData.push(e.parameter.payment_status);    
    rowData.push(e.parameter.payer_email);
    rowData.push(e.parameter.item_name1);
    rowData.push(e.parameter.item_number1);
    rowData.push(e.parameter.quantity);
    rowData.push(e.parameter.first_name);
    rowData.push(e.parameter.last_name);
        rowData.push(e.parameter.address_street);
        rowData.push(e.parameter.address_city);
        rowData.push(e.parameter.address_state);
        rowData.push(e.parameter.address_zip);
  
  sheet.appendRow(rowData);
}

以上似乎工作得很好,下一步我正在尝试做的是从我的谷歌表中这个脚本正在工作的几个单元格中获取数据,并在另一个脚本中使用它,其中带有链接的电子邮件或他们购买的数字下载图像的附件。我需要从上述函数中提取名字、姓氏、付款人电子邮件和 itemname1 的变体并自动发送电子邮件。我已经使用上面的 IPN 信息设置了谷歌表,并添加了最后一列“P”,其中图像的链接将使用来自 itemname1 的数据在线定位,如上所述。下一步是使用我的数据使用类似下面的函数,但我遇到了非常困难的时期。我需要调整以下函数来处理我的数据。那可能吗?我' 我没有任何运气,此时一切都如此接近。现在有人在那里如何做到这一点?你能为我指出正确的方向吗?

像这样的东西是我认为对我有用的,但我不知道如何调整它来完成我需要的工作:

// 此常量写入 C 列,用于已成功发送电子邮件的行 // 已成功发送。

var EMAIL_SENT = 'EMAIL_SENT';

/**
 * Sends non-duplicate emails with data from the current spreadsheet.
 */
function sendEmails2() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2; // First row of data to process
  var numRows = 2; // Number of rows to process
  // Fetch the range of cells A2:B3
  var dataRange = sheet.getRange(startRow, 1, numRows, 3);
  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
  for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var emailAddress = row[0]; // First column
    var message = row[1]; // Second column
    var emailSent = row[2]; // Third column
    if (emailSent !== EMAIL_SENT) { // Prevents sending duplicates
      var subject = 'Sending emails from a Spreadsheet';
      MailApp.sendEmail(emailAddress, subject, message);
      sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT);
      // Make sure the cell is updated right away in case the script is interrupted
      SpreadsheetApp.flush();
    }
  }
}

我的问题是我还无法将所有数据放在一起并使其正常工作。有什么帮助吗?

4

0 回答 0