Office365 Exchange 2016/混合环境和MS图表

Office365 Exchange 2016/混合环境和MS图表,office365,exchange-server-2016,Office365,Exchange Server 2016,我正在尝试在test 2016混合/exchange环境中从Microsoft Graph API查询事件。似乎用户需要O365订阅才能为用户返回事件,否则,当我查询事件时。我得到 /用户/{user}/calendarView/delta 此邮箱尚不支持REST API 或者 /用户/{user}/事件 无法发现资源 我有一些澄清。我想澄清一下,预期的行为是,我可以查询Microsoft graph以在混合环境中访问on-prem exchange,其中邮箱仅位于prem上,它应该从系统中查询

我正在尝试在test 2016混合/exchange环境中从Microsoft Graph API查询事件。似乎用户需要O365订阅才能为用户返回事件,否则,当我查询事件时。我得到

/用户/{user}/calendarView/delta

此邮箱尚不支持REST API

或者

/用户/{user}/事件

无法发现资源

我有一些澄清。我想澄清一下,预期的行为是,我可以查询Microsoft graph以在混合环境中访问on-prem exchange,其中邮箱仅位于prem上,它应该从系统中查询事件

如果上述情况属实,我将假设我们的环境配置错误,我是开放的和/或非常感谢任何解决此问题的潜在建议

此外,我正在使用“无需用户即可访问”流运行,如下所述:

编辑

我确实发现,在执行
Get MsolServicePrincipal | where{$\ AppPrincipalId-eq'00000002-0000-0ff1-ce00-000000000000'}fl DisplayName时,ServicePrincipalNames

我得到:

DisplayName           : Office 365 Exchange Online
ServicePrincipalNames : {https://manage.protection.apps.mil, 
    https://ps.compliance.protection.outlook.com,
    https://autodiscover-s.office365.us/, 
    https://outlook.office365.us/...}

它似乎缺少了on-prem服务器的端点,我认为在运行混合安装程序时应该处理这些端点。我已经运行了15次了。

这取决于你正在开发的应用类型

如果要开发本机和移动应用程序或某些web应用程序,可以使用OAuth 2.0“授权代码”授权流来获取令牌

如果在服务器上运行的守护程序应用程序或后台服务,则此应用程序使用其自己的身份调用Microsoft Graph,而不是代表使用OAuth 2.0“客户端凭据”授权流通过Azure AD进行身份验证并获取令牌的用户

参考: '在没有用户的情况下获取访问权限'

提示:

  • 要在Microsoft应用程序注册门户中为您的应用程序配置应用程序权限:在Microsoft Graph下,选择“应用程序权限”旁边的添加,然后在“选择权限”对话框中选择您的应用程序所需的权限
  • 获得管理员同意 A.您可以依靠管理员在Azure门户上授予应用程序所需的权限;但是,通常,更好的选择是使用Azure AD v2.0/AdminApprove端点为管理员提供注册体验。 B请求如下:
  • //换行符仅用于易读性

    获取{tenant}/adminapprove

    ?客户id=6731de76-14a6-49ae-97bc-6EBA69491E

    &州=12345


    &redirect_uri=

    我可能没有很好地传达我的问题,对此我深表歉意,但我无法使用客户端凭据向on-prem exchange服务器查询事件,我们已经确定,由于应用程序的要求,我们需要客户端凭据流。我可以通过此工作流查询O365授权用户的事件,但如果我尝试查询prem用户,它将返回所述错误。我已经获得同意,否则O365用户将无法使用。Microsoft Graph是Microsoft 365中的数据网关。数据应该在Microsoft云中。因此,本地exchange的数据应该与联机exchange同步。在服务上运行的应用在没有登录用户的情况下访问令牌,因此没有操作用户数据信息的完全权限。