对 On Premise Exchange 的 Graph API 调用仅适用于 Playground

Posted

技术标签:

【中文标题】对 On Premise Exchange 的 Graph API 调用仅适用于 Playground【英文标题】:Graph API calls to OnPremise Exchange only works in Playground 【发布时间】:2021-03-02 19:18:00 【问题描述】:

我们的设置是一个本地 Exchange 服务器,可通过图形 api 访问。 https://docs.microsoft.com/en-us/graph/hybrid-rest-support

我们在问题中运行,我们的令牌只是“部分”工作。由“Graph-Playground”创建的代币正在完全发挥作用。但是我们找不到任何区别。

当我使用 Graph-Playground 或使用 Graph-Playground 生成的令牌时 => 所有请求都在工作 当我创建一个令牌时(通过我的应用注册)=>只有一些请求在工作

令牌似乎是有效的,像 /me 这样的一些调用正在运行,但是像 /me/contacts 这样与交换相关的所有调用都失败并出现此错误

请求,他们使用 Postman 生成的令牌:** 错误: "error": "code": "MailboxNotEnabledForRESTAPI", "message": "此邮箱尚不支持 REST API。"

这是一个非常笼统的错误,而且几乎没有说明真正的问题

令牌生成:

我创建令牌的方式与 Graph-Playground 创建令牌的方式相同(OAuth - 隐式流):

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=token&state=test2&client_id=????&scope=openid%20profile%20User.Read%20email%20Contacts.Read&redirect_uri=????

代币 - 分析:

顺便说一句,它工作了几天,没有人改变任何东西:)

所以我不知道为什么“Graph Playground”可以创建一个工作令牌,而我的令牌只能“部分”工作。你能帮帮我吗?

已经有一个线程,但我不是它的所有者。也没有更多的回应......我无法为外国线程提供赏金,这就是我创建一个新线程的原因。你可以在这里找到它:

MailboxNotEnabledForRESTAPI - Microsoft Graph API integration with HMA Enabled on-premise server

【问题讨论】:

请分享响应信息(requestid、timestamp)以便我分析!! RequestId: c465e6ec-9a7c-4f18-bce5-69ef132402e7 日期: Sun, 22 Nov 2020 16:11:33 GMT ServerInfo:North-Europe,SliceC,Ring 4,ScaleUnit 002,RoleInstance AGSFE_IN_2跨度> 不幸的是,我没有看到上述任何记录。请给我一个新的 requestid,时间戳 - 尝试进行新的 API 调用,这样你就可以得到它!另请确认相同的 API 调用之前是否对您有效,现在是否无效?我看到你的陈述“作为旁注,它工作了几天,没有人改变任何东西”;但只是为了验证上述现在失败的 API 调用。 日期:2020 年 11 月 23 日星期一 12:18:51 GMT |请求 ID:a05145bb-b03c-402b-a0af-0c90b726ce1a |网址:graph.microsoft.com/v1.0/me/calendar 在初始混合设置后(11 月开始),它正在工作。 @Dev 这并不能解释为什么一切都使用相同的凭据和操场请求的令牌 【参考方案1】:

我认识到您的错误,我们在几种情况下看到它(对于 Office 365):

    用户没有 Exchange 许可证(可能不是这种情况,因为它可以在资源管理器中使用)。 客户租户已设置额外的安全性。

你can limit applications to certain mailboxes。也许您的本地 Exchange 上也有类似的设置或策略,您必须连接到 Exchange Online Powershell 进行设置,所以也许您可以在那里找到一些东西。这只是一个疯狂的猜测。

为了追查这个问题,我会开始检查本地 Exchange 日志。

您是否尝试过使用/users/upn/calendar 端点?可能只是 /me/ 部分不起作用。

【讨论】:

以上是关于对 On Premise Exchange 的 Graph API 调用仅适用于 Playground的主要内容,如果未能解决你的问题,请参考以下文章

Private Cloud和On-Premise区别

SharePoint On Premise/ SharePoint Online增强格式的文本栏

将 on_premise_sam_account 属性添加到 azure 广告的 JWT 声明

如何使用 Google Vision OCR On-Premise? [关闭]

On Premise Agent不下载所有NPM包

Dynamics CRM On-Premise V9安装手记