microsoftgraph / msgraph-sdk-javascript

Microsoft Graph client library for JavaScript
https://graph.microsoft.com
MIT License
757 stars 230 forks source link

Question: Gmail accounts on Mac Outlook and Graph API #1057

Open cbishop-fv opened 2 years ago

cbishop-fv commented 2 years ago

Question

Prerequisites

Description

We have an office outlook add-in and use https://github.com/AzureAD/microsoft-authentication-library-for-js for azure auth along with msgraph to make calls to perform mailbox actions for users in the addin.

Outlook Desktop on Mac allows users with gmail accounts to add them as "exchange" or "supported" accounts not just POP or IMAP. I believe the user has to have a 365 sub tied to the gmail account too. Im not sure what this really means. We don't have the same issue with IMAP or POP accounts because they are not considered exchange accounts and are not allowed to use addins. but these accounts are for some reason. (Im asking about the addin team about the allowance of addins etc.)

As for the graph side of things, I'm not sure if this account type, gmail with 365? not setup as POP or IMAP, should work with graph api or if there is a way I can get this to work for users.

Console Errors: [Is there any console error]

The mailbox is either inactive, soft-deleted, or is hosted on-premise
The specified object was not found in the store., Can't connect to the mailbox of user Mailbox database guid:

Screen Shots

image (13)

Steps to Reproduce

  1. Add gmail account to outlook
  2. Authenticate with Azure and authorize access to said account
  3. Attempt to call graph API mailbox endpoints against this account

Expected behavior: I'm not sure if this account should work or be allowed or if there is a way I can get this to work for users.

Thank you for your time reviewing this.

cbishop-fv commented 2 years ago

related code

    const activeAccount= msalPublicClientAppInstance.getActiveAccount()
    const graph = msGraphClient(activeAccount);
    graph.api(`${graphUrl}${path}`).get()
sebastienlevert commented 2 years ago

This is interesting. Can you share more docs on the type of account these are? I would assume these mail accounts are still served by Gmail for instance?

Also, can you share the endpoint you are calling? I assume something like /me/messages but can you validate? And can you tell me what response you are getting on /me?

This doesn't feel like an SDK issue at first glance, but I'll try to reroute you to the right repo to ask your question. Thanks!

cbishop-fv commented 2 years ago

This is interesting. Can you share more docs on the type of account these are? I would assume these mail accounts are still served by Gmail for instance?

Also, can you share the endpoint you are calling? I assume something like /me/messages but can you validate? And can you tell me what response you are getting on /me?

This doesn't feel like an SDK issue at first glance, but I'll try to reroute you to the right repo to ask your question. Thanks!

correct /me/message /me/message/{id} and attachments

One user reported

 The specified object was not found in the store., Can't connect to the mailbox of user Mailbox database guid: {id} because the ExchangePrincipal object contains outdated information. The mailbox may have been moved recently.

another potential error:

The mailbox is either inactive, soft-deleted, or is hosted on-premise

I am assuming graph cant find the mail box because they are not real exchange accounts but the users are able to authenticate and authorize using azure via https://github.com/AzureAD/microsoft-authentication-library-for-js

its a very odd case for sure I have also opened up a similar ticket for the outlook addin team. https://github.com/OfficeDev/office-js/issues/2974