我们有一个使用MSGraph API与客户的电子邮件/日历集成的应用程序。其中一个使用混合动力设置的客户(客户A(报告了问题。所有用户突然都无法进行电子邮件集成。我们使用我们的生产应用程序凭证和不同的环境(本地、开发云AWS、阶段云GCP、产品云GCP(和有效的用户令牌,对MS Graph API执行了几次测试调用(endpoint/me/sendMail(。以下是结果和奇怪的行为:
- 好。如果我们从所有环境中调用我们自己的测试帐户(Office365,非混合(,一切都会很好
- 好的。如果我们从所有环境中调用客户B帐户(Office365,非混合(,一切都很好
- 好的。如果我们从本地、开发云AWS环境中调用客户A帐户(混合设置(,一切都很好
- 超级奇怪。如果我们从暂存云GCP、生产云GCP环境中调用客户A帐户(Hybrid,Exchange 2016设置(,我们得到404和下面的错误
{“error”:{“code”:“MailboxNotEnabledForRESTAPI”,“message”:“REST API is not yet supported for this mailbox.“}}
客户的IT声称他们的日志中没有错误,他们可以将其与此问题联系起来。他们做的每件事都符合微软的建议https://learn.microsoft.com/en-us/graph/hybrid-rest-support#requirements-让rest api在混合部署中工作
更新:
在检查了更多之后,当特定的MS数据中心提供请求时,我们会收到404:
以下是404的响应标头参数:
x-ms-ags-diagnostic{"ServerInfo":{"DataCenter":"UK South"、"Slice":"Slice C"、"Ring":"3"、"ScaleUnit":"000"、"RoleInstance":"AGSFE_IN_11"}
x-ms-ags-diagnostic:{"ServerInfo":{"DataCenter":"Central US","Slice":"Slice C","Ring":"2","ScaleUnit":"002","RoleInstance":"AGSFE_IN_14"}}
我们获得了201(成功(:
x-ms-ags-diagnostic:{"ServerInfo":{"DataCenter":"西欧","Slice":"SliceC","Ring":"5","ScaleUnit":"003","RoleInstance":"AGSFE_IN_52"}}
我会尝试用MS Graph资源管理器或POSTMAN隔离问题,看看我是否仍然可以重新处理问题(使用相同的Graph API调用(。如果答案是肯定的,那么我将向微软提交一份支持票,以便他们能够验证混合需求的配置是否存在任何问题(如他们定义的那样(,或者API是否有任何问题,或者IP是否有任何问题。