How to sync Calendar Event across multiple users - microsoft-graph-api

How can I sync the events between multiple users using Microsoft Graph,
For example, if both user A and B is in the same Event, and one of them update the event then both the events in user's A and B should change too.
Can I do this using iCalUId ?

many customers use Modern Group calendars to achieve this. And one user authors the calendar and members of the group see these event show up in it. This obviously depends on A and B making sense to be in a group for this.

Related

Write LiveEvent to Calendar

Is it possible to create a LiveEvent that shows up on the Teams calendar?
Via the meetings api I can create regular Meetings or LiveEvents, however,
the api documentation includes a note that the resulting meetings will not show up on the users calendar. Given it's not on the calendar (and no where else visible?) it would seem we have to control all the settings programmatically via the api.
https://learn.microsoft.com/en-us/graph/api/application-post-onlinemeetings?view=graph-rest-1.0&tabs=http
We would like to create Meetings/LiveEvents and then allow people the option to manage the settings by accessing the event on their calendar.
The calendar api allows creation with the 'isOnlineMeeting' flag but that makes only a Meeting and not a LiveEvent. I don't see any way to create a calendar event as a LiveEvent?
https://learn.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=http
Is there any way to create a LiveMeeting that shows up on the calendar? Something I am missing?
Thanks

Microsoft Graph - Adding recurring event with exceptions

How can I add a recurring event with exceptions using the Microsoft Graph API?
Is this possible in Microsoft Graph at all?
Edit:
For instance, I want to create an event that will take place every Monday, starting 07/05/2021, but that will not occur on 07/12/2021.
I already know how to create the recurring event, but I don't know how to create it with this exception.
You first need to find the correct Event Instance you want to change.
/events/{id}/instances?startDateTime={dateTime}&endDateTime={dateTime}
This will return a list of instances within the specified date range. You then parse the list for the specific instance you want to obtain its unique id and delete it like any normal event.

How to move event to another calendar in one account?

I'm integrating Outlook calendar to my app and I want my user can change their events from this calendar to another calendar (like changing from Calendar to calendar2 in the origin Outlook calendar).
But I can't find any endpoint to do this, even the UpdateEvent endpoint in their docs doesn't support this.
So how can I change event's calendar using MS graph API ? Right now the only way I'm thinking of is delete the old event in Calendar and create new event in calendar2 which is not 100% reliable because sometimes the delete or create request can failed
)
Currently the is no way to move an event to another calendar. You can add a feature request here so that the engineering team may implement it in future.
So far as you said the only way may be delete then create but also keep in mind that the create should add all the existing properties/data like extensions when creating in the new calendar.

How to implement caching for multi-user calendar with events?

I'm working with a multi-user calendar where each user has associated events.
There is a week view and a day view.
The user can choose (from a list) which users calendars they want to view at any given time.
So I may choose to view the schedules of users A, B and D, go to the next week, select user C and deselect user A. Etc.
How might I implement caching for this so I don't have to send a new request for each user for each day/week view.
Currently I'm making one request with the selected users each time the calendar is navigated. I'm thinking maybe I could make a new request for each user for each day/week and cache those somehow so that no matter which set of users is selected, it can build the users array from individual caches?
I'm using Rails 3 and JQuery.
Any ideas?
Thanks.
As your views do not seem to be easily broken down into cachable fragments, you could build the entire view with jquery und just pull in the different calendars via AJAX. Have a look at the jquery template plugin which is a huge help. You could then cache the json responses which actually deliver the individual calendars.

Full google calendar integration with Rails 3 site

I need to integrate my rails 3 application with google calendar. The following are requirements of the application:
Within my application I can create calendar events and invite people (pretty much most of the google calendar features).
I want to be able to pull a users existing google calendars and sync? (potentially).
I need to ability to show the calendar in different forms (daily, weekly, monthly) and put additional graphics in the calendar.
I need to use items created in the calendar for other features and functions. Specifically I need to keep track of a calendar item with something in my database. For example, the ID of a new appointment is tied to a user's foo in my database.
At first I was thinking that I should just bring in google calendar into my application (directly into a div) but then with #4 I really need much more than that.
I found the following
http://cookingandcoding.com/docs/gcal4ruby/ (for API integration)
and
http://www.web-delicious.com/jquery-plugins-demo/wdCalendar/sample.php (for the visual display of calendars)
Before I go down this path I wanted to see if others had input on this. I'm mostly concerned about how to architect this solution, specifically:
let's assume I use the api listed above to create a calendar specifically for my application in google calendar and I interface with this single calendar.
let's also assume that I can create events in that calendar, get the ID back from google calendar and place that ID of each event in my database (where I need to store it and make reference to specific events I've created).
I also want to bring in existing calendars from the user (and resync them). Can this API do that?
Are these the right tools for this architecture?
Also I think I need to use omniauth so that I don't have to store the users google calendar user name and password.
Another JQuery Calendar plugin you might want to look at is Full Calendar. There is even a demo project that provides code to integrate it with Rails 3 available on GitHub

Resources