Microsoft graph calender api - read events of all users with email address - calendar

I have a of question on Microsoft Graph API . Is it possible to get calendar events of all outlook or office 365 users with my personal account ( Using my account to register an application in azure). I have a node application like to read users calendar events with their email address. Also let me know if we can create new event for other users

Related

How can I view/edit my users' Google Calendar Events using my NextJS app

I am building a platform using NextJS in which I need to grab my users' Google Calendar events and be able to add events to their calendars.
I have a service account set up and would like my service account to access my users' calendar data.
After researching, I have found that one way to do so is to have the user share their calendar manually with my service account.
However, I was wondering if there is a way for my users to be able to give my service account permission without having to do it manually, so for example, pressing a button on my platform that will let them share their calendar with the service account.
service account are intended for use with a calendar that you the developer control. Service accounts also only work with google calendar if you have a google workspace account. You will also need to use a google workspace domain account in order to set up domain wide delegation on your service account to use it with google calendar.
There is no way for a user to share a standard google calendar account with a service account. That was shut down by google a number of years ago. The only option now is domain wide delegation
That being said you will need to use Oauth2 to request consent of your users to access their google calendar accounts. Something like this would be a good place to start Node.js quickstart

Azure Active Directory Windows authentication Fetch calendar events

I have created a project for .NET Core with Windows authentication. I want to get an idea about how to access the user calendar events. User will just access the website and then the user will be authenticated using windows authentication and his calendar data will be loaded on the homepage.
Any idea will be useful. Thanks
Users need to have Calendars.Read, Calendars.ReadWrite delegated Microsoft Graph permissions to access the user calendar events
You can assign this access in add API permissions
Reference: Get calendar - Microsoft Graph v1.0 | Microsoft Docs

How to host Teams onlinemeeting using MS Graph API from web Apllications

In our project we are trying to integrate Microsoft teams with web application.Using MS Graph API i have created Online meeting and obtained id and joinurl of meeting and stored in db,the user will not get to know about meeting url . is there any way to start the MS Teams online meeting from webapplication and after leaving the meeting the person should automatically redirected to same webapplication.
usecase will be to create a onlinemeeting and join the meeting directly from application.
I have implemented this usecase for Zoom Meeting,is there any plugin or some other things available for MS Teams online meeting to implement this useCase in Angular and jsp.

Create online meeting on behalf of user MS Graph API

In our project we are trying to integrate MS Teams with Web application using MS Graph API.use case is OnlineMeeting for Virtual Events.the attendees may or may not have microsoft account.
Created Azure Ad Account and created new tenant and created new user(given Global Administrator role) and registered new Application and given required API permission users.readWrite.all and onlineMreeting.readWrite.all to Application and Delegated Users.
Initially i was using UserCredientials flow(no manual authentication since its not in our usecase user should be authenticated automatically through java) to get accessToken.since its not recommended to use username and credientials(ROPC flow),so now trying to get accessToken only using clientId and clientSecret using adal4j and i am able to get accesstoken but not able to use token for endpoints with /me/onlineMeeting.since token doesnt contain required permission and scope.
so i had tried to reach endpoint with token got from clientid and secret using /users/{id}/onlineMeeting but it gives error like Application does not have permission to Create online meeting on behalf of this user
referred https://learn.microsoft.com/en-us/graph/cloud-communication-online-meeting-application-access-policy
its mentioned to change access-policy.
is there any way to create online meeting on behalf of user without changing access policy?
to create onlinemeeting on behalf of user do we need skype business account?
onlinemeeting can created by two endpoint /onlineMeeting & /events
so does /event in calender api require any additional previlages like office365 license to create online meeting?
to implement these usecase whats the microsoft account Type,azure ad account
and what are all the license and azure subscription need?
to create onlinemeeting only with dialin do we need any special license
is there any way to create online meeting on behalf of user without
changing access policy? to create onlinemeeting on behalf of user do
we need skype business account?
No. We have to set the access policy to use Application token to create online meeting on behalf of a user. To create an online meeting with Microsoft Graph, we don't need skype business account. But if you want to create online meeting through UI / web client, you have to need Teams license. (When I use a new account without being assigned any O365 license, it shows some license error but it's then bypassed. So I think it's a bug. I think we should need skype business account / Teams license to create the online meeting)
so does /event in calendar api require any additional previlages like
office365 license to create online meeting?
Yes. We need O365 Exchange Online license to create /event.
to implement these usecase whats the microsoft account Type,azure ad
account and what are all the license and azure subscription need?
In summary, you need at least AAD work or school account and O365 Exchange Online license.
to create onlinemeeting only with dialin do we need any special
license
Microsoft graph doesn't support creating onlinemeeting only with dialin. See audioConferencing. It's read-only.

Get all calendar events for a specific user

As part of creating a service for syncing an internal application's calendar with Outlook Calendar (Exchange) I need a way to get all of the events from the calendars of a list of users. Through EWS I can get access to a user's calendar with their credentials but I won't have access to the password of the users I need to get the calendar's for. Is there any way to get at any user's data using admin credentials and that user's mail address?
Answering my own questions here but the answer is through impersonation. I had come across impersonation early but at first glance it wasn't what I was looking for but after reading more carefully it seems to be exactly what i need.
MSDN article on Impersonation
I'll have the server admin set up an account with impersonation permissions then connect to each account through their username/address and pull the calendar data I need with the GetUserAvailability method.

Resources