2012-05-11 12 views
5

Ho uno Calendar Event in Google Apps Script e voglio consentire all'utente di aprirlo facendo clic su un Ancoraggio. Penso di poter indicare l'URL nel modo seguente: http://www.google.com/calendar/event?eid=SOMEID&ctz=Etc/GMT. Tuttavia non riesco a ottenere l'ID richiesto dall'evento del calendario. L'ID che ottengo da Event.getId() non funziona in quegli URL e non c'è event.getUrl().Ottieni link (url) a un evento di calendario nello script di google apps

Qualcuno sa se questo è possibile con lo script app?

risposta

12

Per data event oggetto di tipo CalendarEvent e dato calendarId, il modo più semplice e lavorare per costruire un URL per visualizzare/modificare evento in Google Calendar App corrispondente è il seguente:

var splitEventId = event.getId().split('@'); 
var eventURL = "https://www.google.com/calendar/event?eid=" + Utilities.base64Encode(splitEventId[0] + " " + calendarId); 

La cosa migliore è che non c'è bisogno di invocazione, autenticazione, ... API di Google!

+2

Questo è molto utile! Grazie! L'URL dovrebbe probabilmente essere "https: //calendar.google.com/calendar/event? Eid =" adesso però :) – xd1936

+1

Suggerimento: usa [getOriginalCalendarId()] (https://developers.google.com/apps-script/reference/calendar/calendar-event # getOriginalCalendarId()) per ottenere l'id del calendario –

0

In effetti non è possibile. C'è una richiesta di miglioramento sul tracker dei problemi degli script di app che cita questa disfunzione. Potresti voler avviarlo per tenere traccia degli aggiornamenti e del tipo di voto per questo.

Issue 627: GAS for Appointments

+0

Questa risposta è obsoleta. Vedere la seguente [risposta] (http://stackoverflow.com/a/33302612/1595451) –

1

La nuova versione di Google Calendar ha rotto questo. Ecco come risolverlo:

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('=',''); 
Problemi correlati