我想與用戶共享Google表格,以便他們可以在其日曆中添加多日全天活動。由於谷歌不提供這樣做的功能,我厭倦了各種解決方法。 createEvent(title,startTime,endTime)並不完美,因爲它使用並顯示日期時間, createEventFromDescription(描述)不允許元數據,如描述,所以我嘗試使用高級日曆服務。 從我讀過的內容啓用高級日曆服務後,您應該可以像使用App腳本的內置日曆服務一樣使用Google Calendar API。如果我在一個圖紙腳本編輯器中運行這個內置函數,它可以工作,我可以製作一個表格的副本,通過電子郵件發送給其他人,他們也可以運行功能
var event = CalendarApp.getDefaultCalendar().createEvent('Apollo 11 Landing', new Date('July 20, 1969 20:00:00 UTC'), new Date('July 20, 1969 21:00:00 UTC'), {location: 'The Moon'}); Logger.log('Event ID: ' + event.getId());
如果我使用高級日曆服務和使用下面的代碼基本上是他們的例子,我可以在腳本編輯器中運行該功能,它的工作原理是,但如果我複製表單並將它發送給其他人嘗試,我會得到錯誤「Project(number)is not找到並且不能用於API調用「。任何人都可以看到我做錯了什麼。Google Apps腳本 - 高級日曆服務
function createEvent() {
var calendarId = 'primary';
var event = {
summary: 'Lunch Meeting',
location: 'The Deli',
description: 'To discuss our plans for the presentation next week.',
start: {
date: "2017-05-21"
},
end: {
date: "2017-05-24"
},
attendees: [
{email: '[email protected]'},
{email: '[email protected]'}
],
// Red background. Use Calendar.Colors.get() for the full list.
colorId: 11
};
event = Calendar.Events.insert(event, calendarId);
Logger.log('Event ID: ' + event.getId());
}
我的意思是感謝。如果我不能讓高級日曆服務工作 – slanton
我想我的問題確實是......可以共享一張具有使用高級日曆服務的腳本的工作表,只需製作工作表副本即可。 – slanton
答案是肯定的,但是與之分享的人也必須啓用Calendar API – slanton