第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Google 表格上添加一封訂閱電子郵件時發(fā)送電子郵件

在 Google 表格上添加一封訂閱電子郵件時發(fā)送電子郵件

慕神8447489 2023-03-18 16:14:45
當有人點擊訂閱谷歌表格時,我有一個代碼可以從我的網(wǎng)站收集電子郵件。該過程基于此處的這些步驟: https: //github.com/jamiewilson/form-to-google-sheets/blob/master/README.md 但是我還想向訂閱我網(wǎng)站的人發(fā)送一封電子郵件通過谷歌腳本,但我無法這樣做。這是代碼:function doPost (e) {  var lock = LockService.getScriptLock()  lock.tryLock(10000)  try {    var doc = SpreadsheetApp.openById(scriptProp.getProperty('key'))    var sheet = doc.getSheetByName(sheetName)    var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]    var nextRow = sheet.getLastRow() + 1    var newRow = headers.map(function(header) {      return header === 'timestamp' ? new Date() : e.parameter[header]    })    sheet.getRange(nextRow, 1, 1, newRow.length).setValues([newRow])                   var row = sheet.getLastRow()-1       var column = sheet.getLastColumn()       var dataRange = sheet.getRange(2, 1,row,column)       var data = dataRange.getValues();       var email = data[row-1][1];       MailApp.sendEmail("man@test.com", "Wellcome To Engineers", email);            return ContentService      .createTextOutput(JSON.stringify({ 'result': 'success', 'row': nextRow }))      .setMimeType(ContentService.MimeType.JSON)      }  catch (e) {    return ContentService      .createTextOutput(JSON.stringify({ 'result': 'error', 'error': e }))      .setMimeType(ContentService.MimeType.JSON)  }  finally {    lock.releaseLock()  }}如果收集列表中的電子郵件但不向任何人發(fā)送電子郵件
查看完整描述

1 回答

?
慕妹3242003

TA貢獻1824條經(jīng)驗 獲得超6個贊

介紹

您的腳本有多個部分,但我相信您要問的中心問題是關(guān)于獲取doPost()發(fā)送電子郵件的功能,所以這里是我制作的一個可以在 Apps 腳本中使用的快速示例的片段。它不使用任何額外功能,例如 Lock Service 或 try catch 塊,它不返回任何內(nèi)容,但它會更新電子表格并發(fā)送電子郵件。

首先根據(jù)您的需要進行調(diào)整,然后了解如何添加 Lock Service、Try and Catch 塊和 Return 消息。

(如果您在使用這些附加功能時遇到問題,請確保提出有關(guān)它們的問題,而不是試圖在此線程中獲得答案)

在 POST 請求時更新工作表和發(fā)送郵件的示例 Web 應(yīng)用程序。

  1. 我制作了一個只有幾個標題的新電子表格——“姓名”、“時間戳”和“電子郵件”(這不是真實數(shù)據(jù))。“時間戳”需要寫得完全一樣(沒有大寫等)。

http://img1.sycdn.imooc.com//6415731a0001c0b004060184.jpg

我打開腳本編輯器以啟動容器綁定腳本(容器綁定到電子表格)。

我寫了這段代碼:

function doPost (e) {

  var doc = SpreadsheetApp.getActiveSpreadsheet() // works if container bound

  var sheet = doc.getSheetByName("Sheet1")

  var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]

  var nextRow = sheet.getLastRow() + 1

  

  var newRow = headers.map(function(header) {

    return header === 'timestamp' ? new Date() : e.parameter[header]

  })

  

  var newRange = sheet.getRange(nextRow, 1, 1, newRow.length)

  newRange.setValues([newRow])

  

  MailApp.sendEmail(e.parameter["email"], "Wellcome To Engineers", "Welcome"); // you seemed to have the order of the parameters wrong.

}

POST從命令行用 curl發(fā)出請求來測試它:

curl -X POST -F 'name={{name}}' -F 'email={{email}}' https://script.google.com/macros/s/{{script id}}/exec

這更新了電子表格并向我在 POST 請求中使用的電子郵件發(fā)送了一封電子郵件。


查看完整回答
反對 回復(fù) 2023-03-18
  • 1 回答
  • 0 關(guān)注
  • 635 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號