[英]Google Apps Script send email through spreadsheet not working
[英]Send an invitation to attendees' email through Spreadsheet and Google Calendar API
首先,我沒有任何編碼知識/背景,所以我不知道在這里尋求建議是否合適,這也是我在這里的第一篇文章。 我通常在互聯網上尋找一些可以找到我需要的代碼,更新它以適合我的數據並完成。
所以,現在我正在我的組織中設置一個共享平台,以允許人們注冊為共享會話的演示者或參與者。
session 都是預先創建的,它們必須在列表中選擇。 注冊后,數據在電子表格中可用,我有代碼可以為會話添加這些注冊人。
但是我的問題是,他們被添加為活動的客人,但沒有收到此活動的邀請。 這是腳本:
function Presenterscalendar() {
var cal,i,iCalId,row,sheet,thisEvent,presenter,title,email;
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName("Presenters");
var dataRange = sheet.getRange("A2:G1000");
var data = dataRange.getValues();
cal = CalendarApp.getDefaultCalendar();
for (i in data) {
row = data[i];
presenter = row[1];
title = row[3];
tstart = row[2];
iCalId = row[4];
email = row[6];
thisEvent = cal.getEventSeriesById(iCalId);
if (thisEvent) {
thisEvent.setTitle(title);
thisEvent.setDescription('A session presented by '+presenter);
thisEvent.addGuest(email)
}
}
}
我尋找了其他腳本,以便將邀請發送給日歷中每個 session 的所有與會者:
function sendInvite(calendarId, eventId, email) {
var calendarId = 'test@test.com';
var vss = SpreadsheetApp.getActive();
var vS = vss.getSheetByName('Presenters');
var dataRange = vS.getRange("A2:H1000");
var data = dataRange.getValues();
for (i in data) {
row = data[i];
presenter = row[1];
title = row[3];
tstart = row[1];
iCalId = row[4];
mail = row[6];
var eventId = vS.getRange("e2:e1000").getValue();
var eid = eventId.split("@")[0]; // Added;
var event = Calendar.Events.get(calendarId, eid);
var attendees = event.attendees;
if(event.attendees) {
event.attendees.push({
email: email
});
} else {
event.attendees = new Array({email:email});
}
event = Calendar.Events.patch(event, calendarId, eid, {
sendupdates: "all"
});
}
}
如果我只為前 ({email:"test@google.com"}) 放置 static email,則此方法有效,但按原樣保存時會顯示“缺少與會者郵件”。 最終,我想要的是:
我確實已經允許腳本和谷歌雲平台使用日歷 API。
我想知道您是否可以幫助我,我試圖復制我在互聯網上找到的內容,但是我對編碼的有限知識不允許我進一步了解 go ...
非常感謝 !
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.