MS Graph API 仅在某些 IP 上返回混合集成错误 [英] MS Graph API return errors for Hybrid integration only on some IPs

本文介绍了MS Graph API 仅在某些 IP 上返回混合集成错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个应用程序,它使用 MS Graph API 与我们客户的电子邮件/日历集成.使用混合设置的一位客户(客户 A)报告了问题.所有用户突然发现电子邮件集成不起作用.我们已经使用我们的生产应用程序凭证和不同的环境(本地、开发云 AWS、登台云 GCP、生产云 GCP)和有效的用户令牌对 MS Graph API 执行了几次测试调用(端点/me/sendMail).以下是结果和奇怪的行为:

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:

  1. 好的.如果我们从所有环境调用我们自己的测试帐户(Office365,非混合) - 一切正常.
  2. 好的.如果我们从所有环境调用客户 B 帐户(Office365,非混合) - 一切正常.
  3. 好的.如果我们从本地调用客户 A 帐户(混合设置),开发云 AWS 环境 - 一切正常.
  4. 超级奇怪.如果我们从暂存云 GCP、生产云 GCP 环境调用客户 A 帐户(混合、Exchange 2016 设置) - 我们会收到 404 和以下错误.

{error":{code":MailboxNotEnabledForRESTAPI",message":此邮箱尚不支持REST API."}}

客户的 IT 声称他们的日志中没有错误可以与此问题相关联.他们按照微软的建议做了一切https://docs.microsoft.com/en-us/graph/hybrid-rest-support#requirements-for-the-rest-api-to-work-混合部署

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

更新:

经过更多检查后发现,当特定 MS 数据中心为请求提供服务时,我们会收到 404:

After checking more it appears, that we receive 404 when a request is served by specific MS Data Centers:

以下是 404 的响应头参数:

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":"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"}}

x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"Central US","Slice":"SliceC","Ring":"2","ScaleUnit":"002","RoleInstance":"AGSFE_IN_14"}}

我们得到了 201(成功):

And we got 201(success) for:

x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceC","Ring":"5",";ScaleUnit":"003","RoleInstance":"AGSFE_IN_52"}}

x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceC","Ring":"5","ScaleUnit":"003","RoleInstance":"AGSFE_IN_52"}}

推荐答案

我会尝试使用 MS Graph explorer 或 POSTMAN 隔离问题,看看我是否仍然可以重现该问题(使用相同的 Graph API 调用).如果答案是肯定的,那么我会向 Microsoft 提交支持票证,以便他们可以验证混合要求的配置(如他们定义的那样)或 API 的任何问题或 IP 的任何问题是否存在任何问题.

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.

这篇关于MS Graph API 仅在某些 IP 上返回混合集成错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆