Microsoft Graph Throwing 403 Error for Calendar with Correct Permissions

William Thomas 65 Reputation points
2023-02-02T21:30:04.3933333+00:00

I am making calls to the Microsoft Graph "/users/{id}/events" endpoint as an apllication with no logged in user but getting 403 forbidden returns. I have:

  • Checked that I have all of the correct application permissions (I have added Calendars.ReadBasic.All, Calendars.Read and Calendars.ReadWrite to be sure, https://video2.skills-academy.com/en-us/graph/permissions-reference#application-permissions-10)
  • Checked that the permissions are contained in the token I am using
  • Checked there are no Application Access Policies that are preventing access using the Get-ApplicationAccessPolicy cmdlet in Powershell
  • Subsequently explicitly allowed the application access to specific mailboxes for the app

I am able to retrieve a list of calendars and am able to list messages from the inbox of the user but when I try to load a list of events I get "Access is denied. Check credentials and try again." Are there permissions that I am missing?

Microsoft Exchange Online
Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
12,005 questions
Microsoft Exchange Online Management
Microsoft Exchange Online Management
Microsoft Exchange Online: A Microsoft email and calendaring hosted service.Management: The act or process of organizing, handling, directing or controlling something.
4,519 questions
0 comments No comments
{count} vote

Accepted answer
  1. HarmeetSingh7172 4,811 Reputation points
    2023-02-02T22:56:02.2566667+00:00

    Hello @William Thomas

    Thanks for reaching out.

    I'm able to reproduce this issue using my test tenant, and I have resolved this with below approach.

    Remove & revoke all Calendar related permissions of the application and grant only the required (or least privileged) application permissions to execute List Events Graph API [Calendar.Read].

    Hope this helps.

    If the answer is helpful, please click Accept Answer and kindly upvote it. If you have any further questions about this answer, please click Comment.

    1 person found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.