Programmatically create a calendar with Graph API and Office365 - microsoft-graph-api

I want to synchronize a list of appointments from an php backend to an organize-wide calendar in Office365.
I didn't find any possibility to create a calendar as an app and not using and service-user as owner.

There is no notion of a organization wide calendar. You can create an Office 365 Group which will have a shared calendar and then make everyone in the organization a member of that group.

Related

create a calendar event for a whole team ( participants) using the graph api

Is it possible to create a calendar event for a whole team using the graph api? Right now, the calendar is coming only in the logged in/organizer account through which the event/meeting is being created But, I want to have this feature for every users/attendees/participants in their calendars. If it is not possible, then, can a separate meeting invite be sent to every users in the attendees list to accept the event/meeting so that they can be notified about the event which has been created and which they need to attend.
You can create Microsoft 365 group of users and use below API to create event.
POST /groups/{id}/calendar/events
The calendar can be one for a user, or the default calendar of a Microsoft 365 group.
Ref Doc: https://learn.microsoft.com/en-us/graph/api/calendar-post-events?view=graph-rest-1.0&tabs=http

Failed to list all calendars with microsoft graph api

I'm currently trying to deal with calendars using graph api.
Last week, I've tried to use
https://graph.microsoft.com/v1.0/users/{user_id}/calendars
and
https://graph.microsoft.com/v1.0/users/{user_id}/calendars?$top=500
to list the calendars from my_calendar groups.
However, only the calendars I've created months ago can be listed, and all the calendars I create today are not listed. (there are only 15 calendars)
Note. I've tried to use
UI: https://outlook.office.com/calendar/view/month
graph explorer sending api: post https://graph.microsoft.com/v1.0/users/{user_id}/calendars
to create the calendar.
However, all the new calendars I create can not be listed by the list calendars api.
Best regards,
Thank you in advance~!
List calendars - Get all the user's calendars (/calendars navigation property), get the calendars from the default calendar group or from a specific calendar group.
For getting delegated shared calendars, use this documentation.

How to Access Calendar Appointments of Other Users using Microsoft Graph

How can I access other users calendar appointments in MS Outlook to validate if the appointment time created in our application are already taken. We have an account to access MS Graph APIs.
As per further research, MS Graph requires delegation and sharing to enable access to other users' calendar. No other workaround.

Sharing a calendar with another user via the Microsoft Graph API

I'm working on an application that does OAuth authorization on behalf of multiple users. My application wants to be able to create a calendar for user A and then share that calendar as read only to user B. It will then create events on that calendar so that they appear for user A as read/write and for user B as read only.
Obviously the Microsoft Graph API supports creating a calendar and putting events on it. My question pertains to the sharing part.
Does the Microsoft Graph API (or the Outlook 365 REST API) support sharing a calendar from one user to another user? I wouldn't want user B to receive the typical email that announces that user A shared a calendar with them. After creating the calendar under user A's account, I'd want to use user A's credentials to set up the sharing permission to user B. Then I would use user B's credentials to add the shared calendar to their list of calendars so that they see it in the Outlook 365 calendar interface.
I've read through a lot of the documentation and have been playing around with a prototype, but I can't find where this use case is supported.
I'm afraid this isn't possible to do via Microsoft Graph. The scenario seems reasonably straight forward, I recommend visiting the UserVoice and adding this suggestion.

Non-editing author permissions Google Calendar

I have a web application that allows users to sign in with their Google Account and create events on a Google Calendar. However, I only want one specific user to edit/delete already existing events in the calendar and all other users should only be able to add events to the Calendar.
A permission similar to this exists on Outlook, which has a permission called Non-editing author. Is the same available for Google Calendar?
both the events.insert and the events.update / events.patch require the scope of
https://www.googleapis.com/auth/calendar read/write access to Calendars
Which technically gives a user access to read and write to any part of the calendar not just the events. Your application is going to have to limit access the calendar api does not give you this ability.

Resources