Multiple organisers in google calendar event API - google-api

I am using the Google Calendar's event API. I have a unique requirements for creating a event is that for one particular event I need to make multiple organisers.
For example If there is an event E with attendees A1 and A2, then in A1's calendar he should be an organiser and A2's calendar he should be shown as organiser.
I am not able to find out how can I do this with API. There is one website in the market is doing the same as I mentioned but I could not able to find out how can I do this.
Could anyone please help me to find out this ??

From checking on the Google Calendar Web app it also appears that they do not allow more than one "Organizer" or "Owner" for the event so as DalmTo mentioned it might not be feasible either for the API. https://support.google.com/a/users/answer/9308863?hl=en#:~:text=If%20you%20own%20an%20event,event%20in%20your%20calendar%20grid.&text=Change%20owner.,message%20if%20you%20need%20to.

Related

how to get attendances Track from the Google API?

We are using the API of google calendar to create events and we have some invites to that, the problem is that we want to get the Attendance, we know that calendar has the feature Attendance Tracking, and that works perfectly, but we need to get that information from the google API. for now it sends me a email at the end of the meet with an excel with that information. but I need to get it from the API cos, we have a lot of meeting and need to update this information automaticly.
thanks a lot if you give some route or some idea to reach it!!!
I am triging to get this information from the caelndar API V3 following this doc but I just get the event info and attendees, but I need to get the Attendance.

Google calendar watch for updates on events

I want to listen programmatically when an event I created on the Google calendar is updated (like when someone accept/reject an invite) and I want to receive the relevant info regarding the event (type, confirmed/declined attendees, etc). I've tried using zapier and so far it does the job. Is there a native way to do that using Google API? I've also tried using Google calendar push notifications but the data I've received from the webhook isn't sufficient for my use case. Thanks!
You should be able to do this with a small Google Apps Script.
Their documentation explains the process of listening for a calendar change event. Then, you'll need to perform an incremental sync with the Calendar Sync API and handle the specifics of the event based on how you want.
Note that more simply, a webhook may suffice for your use case.

Prevent conflicts when creating events in a resource calendar using Google Calendar V3

I'm trying to solve a problem of preventing double bookings using the Google Calendar Api (v3). I'm using Google resources in a GSuite environment. The bookings are made from a centralized platform on behalf of multiple users and are applied to multiple rooms (resources). The responsible application authenticates using a Service Account. The resource calendars are all configured to only accept invitations that do not conflict.
So far I found out that there are at least two ways to book a resource:
Create an event in the resource calendar
Create an event in a personal calendar en add the resource as attendee
I found out that in the first senario, events can be added to the resource calendar, even if they cause a conflict. There is no failure in the api response, the event is just added.
I tested the second scenario with my personal calendar and found out that the room needs to respond to the event invitation. Apparently that process may take several minutes before the room responds.
I'm building an api that should respond as fast as possible, but I want it to only create an event if it doesn't conflict. Of course I can use the free/busy information to reduce the chance of conclicts, but I would like to eliminate that chance entirely.
Does anyone know if Google provides functionality for this problem out of the box?
Thanks in advance.
Google does not do any validation on the api. You send what you want inserted and they insert it. Its up to you to ensure that it does not conflict with anything already there.
May i suggest that you check before you insert it and then do a double check in a few minutes to ensure there is no conflicts if there is then delete it again.

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.

Disable email notificaton when sharing a Google Calendar

I am using the Google Calendar API V3 to share Google calendars by managing the ACL Permissions. Many of my customers do not want an email notification when a new calendar is shared with them. Is there a way to disable that?
To explain bette what I am looking for: I also use the Google drive API v2 and that API addresses the issue by providing a sendNotificationEmails parameter that you can set to False when sharing a Google document (see this). I am looking for something similar.
Based from this documentation, you need to set sendNotifications to false so invitee didn't get the notification about the invitation even though invitee's calendar UI has New events setting to "true".
Check this example.
I don't believe this is currently possible. Sharing a calendar involves adding an ACL for a given user/group, and the notification email is generated upon adding the ACL. There does not appear to be any way to suppress the notification email. Even if you could, if you are sharing with a group, the individual users must click a link to add the calendar to their Calendar app.
I have put in a group of feature requests through the Calendar forum that would make this process easier. While it is aimed at the front end of the calendar application, I'm hoping they would add corresponding options to the APIs.

Resources