我在Google Apps腳本中有Calendar Event,我希望允許用戶通過單擊錨點將其打開。 我想我可以把URL看起來像這樣:http://www.google.com/calendar/event?eid=SOMEID&ctz=Etc/GMT。 但是我似乎無法從日曆事件中獲取所需的ID。我從Event.getId()獲得的ID在這些URL中不起作用,並且沒有event.getUrl()。將鏈接(url)鏈接到Google應用程序腳本中的日曆事件
有誰知道這是可能的應用程序腳本?
我在Google Apps腳本中有Calendar Event,我希望允許用戶通過單擊錨點將其打開。 我想我可以把URL看起來像這樣:http://www.google.com/calendar/event?eid=SOMEID&ctz=Etc/GMT。 但是我似乎無法從日曆事件中獲取所需的ID。我從Event.getId()獲得的ID在這些URL中不起作用,並且沒有event.getUrl()。將鏈接(url)鏈接到Google應用程序腳本中的日曆事件
有誰知道這是可能的應用程序腳本?
爲CalendarEvent類型給出event
對象,並給予calendarId
,建立一個網址,查看相應的谷歌日曆應用程序事件/編輯的最簡單和工作方法如下:
var splitEventId = event.getId().split('@');
var eventURL = "https://www.google.com/calendar/event?eid=" + Utilities.base64Encode(splitEventId[0] + " " + calendarId);
最好的事情是不需要Google API調用,身份驗證等等!
這確實是不可能的。應用程序腳本問題跟蹤器提出了一項增強請求,提到了這種錯誤。你可能想要開始它來跟蹤更新和投票的種類。
此答案已過時。請參閱以下內容[答案](http://stackoverflow.com/a/33302612/1595451) –
新版Google日曆打破了這一點。以下是修復方法:
var mycal = '[email protected]'
var splitEventId = event.getId().split('@');
var eventUrl = "https://www.google.com/calendar/event?eid=" +
Utilities.base64Encode(splitEventId[0] + " " + mycal).toString().replace('=','');
這非常有幫助!謝謝!該URL現在應該是'https://calendar.google.com/calendar/event?eid ='現在通過:) – xd1936
提示:使用[getOriginalCalendarId()](https://developers.google.com/apps-script/reference/calendar/calendar-event#getOriginalCalendarId())來獲取日曆ID –