javascript - How can I retrieve an extended property for a Google Calendar event? -


i have several extended properties i've added various events using php. want retrieve them using google apps script in google sheets. i'm able access calendar, events , standard data elements this:

 var mycal = "... calendar id ....";  var cal = calendarapp.getcalendarbyid(mycal);   var events = cal.getevents(new date("january 12, 2015 00:00:00 cst"), new date("january 18, 2017 23:59:59 cst"))   (var i=0; < events.length; i++) {        var mystart = events[i].getstarttime();       var mytitle = events[i].gettitle();       var mydesc = events[i].getdescription();       var mytalkno = ??   } 

how query private extended property named "talk-number" on each event?

within google apps script have 2 ways interact google calendar; calendar service , advanced calendar service (aka calendar api) must enabled via advanced google services.

the acs uses resource representations google calendar api, extendedproperties available part of event objects can obtain through api.

here's simple modification of example acs docs log "talk-number" every event has one.

function listnext10events() {   var calendarid = 'primary';   var = new date();   var events = calendar.events.list(calendarid, {     timemin: now.toisostring(),     singleevents: true,     orderby: 'starttime',     maxresults: 10   });   if (events.items && events.items.length > 0) {     (var = 0; < events.items.length; i++) {       var event = events.items[i];       if (event.start.date) {         // all-day event.         var start = parsedate(event.start.date);         logger.log('%s (%s)', event.summary, start.tolocaledatestring());       } else {         var start = parsedate(event.start.datetime);         logger.log('%s (%s)', event.summary, start.tolocalestring());       }       /********************************************************************/       if (event.hasownproperty("talk-number"))         logger.log(event.extendedproperties.private["talk-number"]);       /********************************************************************/     }   } else {     logger.log('no events found.');   } } 

you can update function this:

var eventid = events[i].getid().replace(/@.*/,'');  // remove @google.com eventid var event = calendar.events.get(calendarid, eventid) mytalkno = event.extendedproperties.private["talk-number"]; 

Comments

Popular posts from this blog

resizing Telegram inline keyboard -

command line - How can a Python program background itself? -

php - "cURL error 28: Resolving timed out" on Wordpress on Azure App Service on Linux -