How to download Google Calendars as ICS file with REST API? - rest

I want to download all calendars as ICS files from Google with using a REST API.
The simplest way is to use the Google Calendar interface. There is a function to simply download all calendars as ICS files in one ZIP file. But this is not what I want.
I realized the OAuth2 login and the Calendar API works well, but I can't find a way to use the ICS file download.
There is one solution - after making the calendar public I can use:
https://calendar.google.com/calendar/ical/{calendarId}/public/basic.ics
But making the calendar public is no solution for me.
There is a second solution: make a list of private addresses in the code and use them to download. But that is no solution either as the script should get the list of calendars from the API itself. There, I do not find the private address, only the calendar ID.
Has anybody an idea how to solve it?

Related

One click url for importing webcal to google/outlook calendar

I have a php app that serve as a webcal server, I want user can choose either use their calendar app, or just import the webcal://example.ics directly to google or outlook or office 365 calendar with one click url, without user going through settings to import. Tried to find documents on these but couldn't.
YZY, There isn't a way that you can control the users calendar application to just import. It is up to the receiving end - the users application, to say how an ics file or url is treated on receipt. For example, in my desktop browser i have the default application for a .ics url/file set to be notepad++, not my calendar app. There is nothing you can do to override that.
How other applications such as email applications on smartphone or desktop treat it will depend on their settings as controlled by the user. EG: In outlook users may have unticked the 'automatically process meeting requests'
The only control the provider of the ics url/file has is to ensure that the file/url is specified correctly as per the latest specification (Note RFC5546 updates RFC5545, one needs to read both). Briefly:
https protocol is standard (webcal is unofficial apple. See https://icalendar.org/iCalendar-RFC-5545/1-introduction.html, https://en.wikipedia.org/wiki/ICalendar.)
The suffix is '.ics' as per examples given in RFC5546 and RFC5545
The mime content type is text/calendar https://www.iana.org/assignments/media-types/text/calendar and https://datatracker.ietf.org/doc/html/rfc5545#section-8.1
The appropriate METHOD must be used: PUBLISH is suitable for a subscribable URL (where it appears as a separate calendar in the URL) OR REQUEST (for meeting requests in emails etc) See https://datatracker.ietf.org/doc/html/rfc5545#section-3.7.2 and https://datatracker.ietf.org/doc/html/rfc5546#section-7.2
I like to distinguish between 'import' and 'subscribe':
Import in my opinion is where one imports an event (or multiple events) from a .ics file INTO an existing chosen calendar - eg (but not only): when a METHOD:REQUEST is used.
Subscribe is for icalendar feeds that get updated and so it is practical to subscribe or add the calendar by url to one's calendar application. This kind of url needs to be publicly accessible (although it can be obscured by unusual url)
One could download a subscribeable .ics and 'import' it but then one would only ever have that frozen event/s as at that point in time, it would not ever update.
In summary the best you can do is provide the url correctly and offer some links to info on how to subscribe in case the users are unfamiliar with subscribing

How to use date and time received in a outlook mail in a event calender of outlook?

Like Google calender, is it possible to make a functionality such that when some one register an event from website with date and time, then event will be added in an outlook event calender automatically.
I have found a solution with .ics file, but it does not work. It trigger an error that 'the file is not valid internet calender file'.
Please help with some solution.
You can develop an add-in which can parse the incoming emails and do the required actions if required. See Walkthrough: Creating Your First VSTO Add-In for Outlook for more information.
If you deal only with Exchange profiles in Outlook you may consider using EWS. Read more about that in the EWS Managed API, EWS, and web services in Exchange article in MSDN.

How to get google calendar attachments

Is it possible to get the attachment associated with a google calendar event using REST api call? I googled alot but have not found anything. Are google Labs features not compatible with HTTP GET requests?
Thanks in advance
Attachments are now available in the Google Calendar API. Here is the guide: https://developers.google.com/google-apps/calendar/create-events#attachments
It looks like this feature is not yet supported because the attachment is still a Google lab project.
You can always make a feature request.
https://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=2545

ICAL Calendar Import/Export Sync like Airbnb

How can I get the same architecture Airbnb is using for their ICAL calendar Import/Export sync. It seems like all the booking sites have it now 9flats, wimdu, roomarama, Vaway. I would like to know what they are using becasue it seems to be same standard architecture on all the sites. how do I get this script or service. See link below it describes it. Im using wd calendar a google calendar clone (Jquery, Ajax) on my site right now. I need to import Ical calendars Via link and export calendar via ics url.
http://www.tnooz.com/2011/07/29/news/how-a-uk-startup-fixed-the-airbnb-calendar-availability-problem-without-being-asked/

Quickest way to get ical email attachment into Google Calendar

I'm running Thunderbird on Windows. I often receive .ics (iCal) attachments - invitations to meetings. Currently I save the attachment to my desktop, open Google Calendar, choose 'Add>Import Calendar', browse to the .ics file, and return to the calendar.
Is there any tool that can speed this up... e.g. I forward the email to a special email address and it automatically parses and adds the event to my google calendar?
Lightning gives you a plug-in way for Thunderbird to sync with Google Calendar, works both directions. I've used it without any issues, hopefully it will do what you're after.
Calify does just that.
It can open *.ics files in various web calendars, including Google Calendar.