问题
We have an application that uses MS Graph API to integrate with our customer's email/calendar. One of the customers (Customer A) with the Hybrid setup, have reported issues. All the users suddenly got email integration not working. We have performed a couple of testing calls (endpoint /me/sendMail) to MS Graph API using our production app credential and different environments (local, dev cloud AWS, staging cloud GCP, prod cloud GCP) and valid user tokens. Here are the results and strange behavior:
- OK. If we do the calls for our own testing account (Office365, non-Hybrid) from ALL environments - everything works just fine.
- OK. If we do the calls for Customer B account (Office365, non-Hybrid) from ALL environments - everything works just fine.
- OK. If we do the calls for Customer A account (Hybrid setup) from LOCAL, dev cloud AWS environments - everything works just fine.
- SUPER STRANGE. If we do the calls for Customer A account (Hybrid, Exchange 2016 setup) from staging cloud GCP, prod cloud GCP environments - we got 404 and the error below.
{“error”:{“code”:“MailboxNotEnabledForRESTAPI”,“message”:“REST API is not yet supported for this mailbox.“}}
Customer’s IT claims there are NO ERRORS in their logs they can tie to this problem. And they did everything in accordance with MS recommendations here https://docs.microsoft.com/en-us/graph/hybrid-rest-support#requirements-for-the-rest-api-to-work-in-hybrid-deployments
Update:
After checking more it appears, that we receive 404 when a request is served by specific MS Data Centers:
Here are the response header params for 404:
x-ms-ags-diagnostic {"ServerInfo":{"DataCenter":"UK South","Slice":"SliceC","Ring":"3","ScaleUnit":"000","RoleInstance":"AGSFE_IN_11"}}
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"Central US","Slice":"SliceC","Ring":"2","ScaleUnit":"002","RoleInstance":"AGSFE_IN_14"}}
And we got 201(success) for:
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceC","Ring":"5","ScaleUnit":"003","RoleInstance":"AGSFE_IN_52"}}
回答1:
I would try isolate the issue with MS Graph explorer or POSTMAN and see if i can still repro the issue or not (with the same Graph API call). If the answer is Yes, then i would file a support ticket with Microsoft, so that they can validate if there is any issue with the configuration of hybrid requirement (as they defined) or any issue with API or any issue with the IPs.
来源:https://stackoverflow.com/questions/64717133/ms-graph-api-return-errors-for-hybrid-integration-only-on-some-ips