Error “GraphFatalServiceException: ErrorInternalServerError” when fetching Outlook calendars

hidock sugr 0 Reputation points
2025-06-17T09:42:58.02+00:00

Hello everyone,

I’ve been integrating Outlook Calendar into my platform, and it worked fine for several months. Recently, however, when retrieving the list of user calendars, I encountered the following error:

Throwable detail: com.microsoft.graph.http.GraphFatalServiceException: Unexpected exception returned from the service.
Error code: ErrorInternalServerError
Error message: An internal server error occurred. The operation failed.

GET https://graph.microsoft.com/v1.0/me/calendars
SdkVersion : graph‑java/v4.0.0

What might be causing this issue, and how should I address it?

Thanks in advance for your help!

Outlook Windows Classic Outlook for Windows For business
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Vasagiri Murali Mohan 0 Reputation points
    2025-06-17T10:44:38.76+00:00

    Hello everyone,

    I wanted to provide an update regarding the GraphFatalServiceException and ErrorInternalServerError encountered when calling:

    bash
    Copy
    GET https://graph.microsoft.com/v1.0/me/calendars
    

    Status: Resolved

    I have re-tested the API using Graph Explorer, and the request now returns a successful 200 OK response along with full calendar details.

    Key Observations:

    All expected calendars (default, holiday, birthday, shared) were returned.

    Fields such as canEdit, canShare, allowedOnlineMeetingProviders, etc., were included as expected.

    The operation executed successfully with no delay.

    Possible Cause:

    This was likely a transient issue on the Microsoft Graph backend service.

    Another potential factor could be the way the SDK (graph-java/v4.0.0) processes the response or handles temporary service failures.

    Recommendations:

    In production, consider using filtered queries (e.g., GET /me/calendars?$select=id,name) to reduce payload size.

    • Implement retry logic and exponential backoff for 5xx errors to handle temporary server issues gracefully.Hello everyone, I wanted to provide an update regarding the GraphFatalServiceException and ErrorInternalServerError encountered when calling:
        bash
        Copy
        GET https://graph.microsoft.com/v1.0/me/calendars
      
      Status: Resolved I have re-tested the API using Graph Explorer, and the request now returns a successful 200 OK response along with full calendar details. Key Observations:
      • All expected calendars (default, holiday, birthday, shared) were returned.
      • Fields such as canEdit, canShare, allowedOnlineMeetingProviders, etc., were included as expected.
      • The operation executed successfully with no delay.
      Possible Cause:
      • This was likely a transient issue on the Microsoft Graph backend service.
      • Another potential factor could be the way the SDK (graph-java/v4.0.0) processes the response or handles temporary service failures.
      Recommendations:
      • In production, consider using filtered queries (e.g., GET /me/calendars?$select=id,name) to reduce payload size.
      • Implement retry logic and exponential backoff for 5xx errors to handle temporary server issues gracefully.
      Snip for reference :-
    0 comments No comments

  2. Jayden-P 2,460 Reputation points Microsoft External Staff Moderator
    2025-06-17T11:45:13.0433333+00:00

    Hi @hidock sugr

    Thank you for posting your question in the Microsoft Q&A forum. 

    Based on the information you have provided, looks like you have troubles while fetching Outlook calendars. 

    I found an article similar to your situation. This could be the server-side issue.  

    Internal Server Error connecting to O365 Exchange using OAuth - Microsoft Q&A 

    EWS with oAuth "An internal server error occurred. The operation failed." | Microsoft Community Hub

    Can you please follow the steps and see if it works for you? Please let me know the results. 

    1. Get token with scope - https://outlook.office365.com/EWS.AccessAsUser.All 
    2. Add the token to headers: var service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);  service.setUrl(URI.create("https://outlook.office365.com/ews/exchange.asmx"));  service.getHttpHeaders().put("Authorization", "Bearer " + token); 

    I hope this information helps. 


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

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.

    User's image


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.