我有一個包含在作業表中的 Google Apps 腳本(與表單相關聯)。當一個人填寫表格時,它會觸發表格內的一系列事件。細節不相關(我不認為)。
我想創建一個腳本,向所有填寫表單的人發送一封后續電子郵件,其中包含“是”或“否”問題。為了簡單起見,我想在電子郵件中有兩個按鈕。當他們單擊按鈕時,它會將他們的回應記錄到作業表中的一個單元格中。
我對應用程式腳本 (.gs) 編碼沒問題,但我對 html 不太擅長。我可以整理電子郵件(如下所示)并將其發送給收件人,但我不知道如何從他們的點擊中獲得回復。現在我將“myFunction()”腳本系結到 onclick 并且我已經準備好該腳本,我只是不知道如何在他們單擊電子郵件中的按鈕時實際觸發“myFunction()”。
如果您有任何從電子郵件中獲取回復的解決方案,我將不勝感激。
這是電子郵件檔案 (checkIN.html):
<!DOCTYPE html>
<html>
<head>
<base target="_top">
<style>
button {
color: white;
width: 250 px;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
}
</style>
</head>
<body>
<p style="font-size:150%;">Good afternoon,<br><br>
Yesterday you assigned <?= info.name ?> to academic recovery for <?= info.subject?>.<br>
Did the student complete the assignment?</p>
<button style = "background-color:#4CAF50;" id='yesButton' onclick='myFunction(True)'> Yes </button>
<button style = "background-color:#f44336;" id='noButton' onclick='myFunction(False)'> No </button>
</body>
</html>
以下是發送電子郵件的腳本和準備回應的函式:
function emailTest() {
var infoDict =
{
name: "Teacher",
subject: "Computer Science",
};
sendEmail(infoDict);
}
function sendEmail(info) {
var templ = HtmlService.createTemplateFromFile('checkIn.html');
templ.info = info;
var ssMessage = templ.evaluate().getContent();
MailApp.sendEmail({
to: "[email protected]",
subject: "Academic Recovery",
htmlBody: ssMessage,
noReply: true
});
}
function myFunction(response) {
var ss = SpreadsheetApp.openById("ID goes here");
var tracking = ss.getSheetByName('Tracking');
if (response) {
tracking.getRange("I12").setValue("Yes!");
}
else {
tracking.getRange("I12").setValue("No");
}
}
uj5u.com熱心網友回復:
您可以將應用程式發布為 Web 應用程式(任何人都可以通過鏈接訪問)并將按鈕更改為使用查詢字串鏈接到 Web 應用程式的<a>標簽
該的doGet函式可以接受查詢引數。你可以通過一些加密在URL中嵌入行號或其他識別方法,然后在doGet中解密。因此,您必須將 myFunction 重命名為 doGet,并且 e.parameter應為您提供 doGet 中的查詢引數。
作業流程:為電子郵件生成鏈接,例如 http://appurl?complete=yes&row=20。用戶單擊鏈接并轉到應用程式 URL,腳本獲取兩個引數值并更新行中的范圍。
uj5u.com熱心網友回復:
關于在電子郵件上發送按鈕的第一件事是每個電子郵件客戶端都有其自身的限制,并且大多數現代電子郵件服務不允許某些型別的內容,包括 JavaScript,因此不可能在電子郵件 HTML 正文中使用以下型別的按鈕:
<button style = "background-color:#4CAF50;" id='yesButton' onclick='myFunction(True)'>
如果您使用 Google Apps Script 服務器端代碼 (.gs) 填寫舒適,但不使用 HTML,您可能會更舒適,通過電子郵件發送 Google 表單并帶有表單提交觸發器,將收集到的回應傳遞到電子表格中的相應位置.
另一種選擇,如果電子郵件收件人使用 Gmail,您可以使用一鍵操作。您也可以選擇嵌入 html 表單,或制作按鈕以打開電子郵件 HTML 正文中的鏈接。
相關(從最舊到最新)
- 如何在 Google App Script 的電子郵件中嵌入 Google 表單
- 使用 Apps 腳本在 Gmail 中嵌入 Google 表單
- 如何訪問或呼叫“將此表格發送給他人”?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/344389.html
