How to embed ics file into google calendar - google-api

I'm new to using the Google Calendar API.
I can create .ics calendars using a php app.
I would like to know if it is possible for Google Calendar to allow embedding of those calendars on to my website without having to add it to an account. I really like the google interface, and if this could work in any way, that would be great.

I'm going to say "no". To utilize the Google Calendar interface (e.g. widget) on your website and have it display calendar data that you've created (.ics via your PHP app), at some point, that data needs to be loaded into a Google Calendar account.

Related

Can you change google calendar user settings via API?

Is it possible to change user settings in google calendar via API? What I found on their developer web documentation suggests that no, but maybe there is something I missed.
Thanks for any answers
The Google calendar api gives you access to a users google calendars. It does not give you access to change any settings for the user on the Google calendar web application thats two different things.
You can update the calendar itself changing calendar update some of the basic information about a calendar.
Unfortunately what you want cannot be achieved.
As you clearly noticed in the Calendar API documentation, the operations accepted for Calendar settings are: get, list and watch.
What you can do instead is to file a feature on request on Google Issue Tracker here.

Is it possible to create meeting scheduler for web application using google calendar?

I want to create one form using html and Google Calendar API that form contains some input controls, lets's assume input control Name, Venue, Start Time, End Time etc...
I want, the visitor of my website to fill that form and after submission, I want to see the created event in my Google Calendar account.
Yes its possible to do this. You should look into useing a Service account. A service account is like a dummy user. Share your calendar with the service account it will then have permissions to read and write to your person a calendar using the Google Calendar API. Then create your form and using the service account insert into the calendar.
The users wont have to login they will just be able to add these events to the calendar. I have an article that explains how service accounts work in detail that might help Google developer beginners service accounts

Google Calendar API - Designed for?

I would like to implement a Google Calendar API using FullCalendar Javascript.
Before any start of coding I have some problem to understand what is the main purpose of the Google Calendar API.
As you know there is some Auth process before creation and enabling API.
That means that I, as owner or developer want to use Google Calendar API so I get client/secret/keys strings and it is OK.
I can create an app where I can “promote” my Google Account Calendar being public and then I can show all events from that calendar (dentist booking etc).
Also I am able to use Calendar in another way. For example: Within my App I can create one page where users can auth to their google accounts and see their events
are already created.
But, What if my logged users don't have a Google Accounts.
Google Calendar is strongly connected to already created google accounts? Is it possible to use Google Calendar strictly as an REST API?
I know that this may be a stupid questions but this is something that most of Google Calendar API beginners have problem with.
There are technically two ways of accessing a calendar on Google Calendar.
Your first option is where you are using Oauth2 to authenticate your users. They give you access to their google calendar and you can then insert events directly into their calendar. You can also see the events that they currently have. This as you said wont work if the user in question does not have a google account.
Your second option is to use something called a service account. Think of a service account as a dummy user. It has its own Google calendar account minus the web view. You could potentially us that to store events in a global calendar application calendar. Then when you want to add a user to an event you invite them you can set notification no they should receive an email and they will them be able to add the event to their own personal calendar. For you this may work out better because it does not require you to have access to the Users google calendar the only draw back will be there is no way for you to see if said user has any events going on at that time since you don't have access to their account to check.
I have given you a couple of links to some tutorials that I have write a few years ago that explains the difference between oauth2 and service accounts.
Google Calendars are tied to users, which means Google users. First of all, to access the API you need a GoogleAPIs developer key. This requires a Google account. Then you need Google accounts to use or test with the API.
The Google Calendar is tied to a user account as described at https://developers.google.com/google-apps/calendar/concepts/. One thing to notice is that "event" is an atomic unit in the API and a calendar is a set of events. In other words, a calendar in the Calendar API isn't a timespan like we think of "this year's calendar", it's a set of event objects. Within the app you describe, if the users don't have google accounts then they don't have associated calendars. You would have to tie these users to some kind of public or shared calendar. It's unclear if using the Calendar API solely as a REST API as you describe (without actual or "verified" user accounts) is in accordance with the Terms & Conditions. That aside, in theory it may be possible to use a service like that as a REST API to suit your needs. Maybe you can try inverting the problem so an event becomes the user with a primary calendar. Now the location of the event can be treated as the API-event. Other (normal Google) users can "attend" the location, at the given time, created by this event (=user). You could also apply the same approach to invert the problem by location. Location becomes the user, event becomes the API-event, and attendees are normal users. The latter approach is used commonly in businesses to book resources like rooms, equipment, etc.

Do Google Classroom Calendars use Google Calendars API?

We are looking to integrate with Google Classroom in the near future, and one of the main questions is if the Google Classroom Calendars are able to be pulled using the Google Calendar API. I would assume the Calendar List endpoint would include the Classroom Calendar as an available calendar to sync with, but wanted to get some input from those who are using Google Classroom. Thank you.
Yes. You can fetch the calendar events from Google Classroom as long as the calendar events were created inside Google Classroom which is mentioned here.
Demo:
Go to a class.
Go to ABOUT section and click 'Open in Google Calendar'.
Now it will open Google Calendar. Create a sample Event.
Go to Calendar.list Try-It and on the "Fields" textbox (above Execute button), check all the parameters. Execute. You will see all the events in your Google Calendar including ones those that belong to Google Classroom.

Building a calendar webapp syncing with Google Calendar, Outlook and Apple Calendar

I am about to build a simple webapp that has several tasks, each of which has got a due date.
I would like this webapp to automatically sync with Google Calendar, Outlook and Apple Calendar - 2-way integration would be a plus.
The webapp is built on a LAMP server.
What's the cleverest way I can go about this from a point of view of limiting the workload as much as possible?
And also, is that even possible? I wasn't able to find an API for Outlook or Apple Calendar.
Is CalDev the answer? Is there any product/software that will do that automatically, so that I need only to sync with it and it will do the rest?
Thanks.
You could do the following:
Synchronize your proprietary calendar with Google Calendar (make this your "master calendar") using the GCal API; if your application can produce a valid ICS file then you can import it directly to Google Calendar. As this feature is discontinued by Google you can use some online WebDAV based import/export service (I use for this Synqya)
Use the WebDAV access to the Google Calendar to synchronize Outlook and Apple Calendar with it using their calendar subscription features (this would be one way sync). If you need secured access to GCal and 2-way sync, it will involve further steps.

Resources