Microsoft.Office365.Discovery - CapabilityDiscoveryResult -> ServiceEndpointUri 在使用 Office 365 V2 DLL 后有错误的 URi

Microsoft.Office365.Discovery - CapabilityDiscoveryResult -> ServiceEndpointUri has wrong URi after using Office 365 V2 DLL

我正在使用 Office 365 API 的 V1 DLL 来执行日历操作。 我转移到 V2 DLL 但我仍然有 Microsoft.Office365.Discovery 版本 1.0.22

在创建 OutlookServiceClient 时,我正在创建 CapabilityDiscoveryResult (dcr)

var dcr = await discClient.DiscoverCapabilityAsync("Calendar");

dcr.ServiceEndpointUri 的值仍显示为 https://outlook.office365.com/api/v1.0 当我将此 URi 更改为 v2.0 时,它对我来说工作正常。

这是在使用 V2 DLL 创建事件时导致的问题

我已经根据 V2 DLL 依赖项删除了 DLL 并再次添加它们(以防万一我遗漏了什么)。

能否请您确认 URL 是否显示正确,或者我是否遗漏了任何内容。也让我知道在哪里可以再次检查。

提前致谢。

Outlook 不需要发现,您可以跳过它并创建 OutlookServicesClient 对象,例如:

OutlookServicesClient client = new OutlookServicesClient(new Uri("https://outlook.office.com/api/v2.0"),
        async () =>
        {
            //code to get your token
            return token;
        });

Outlook 端点应该是“https://outlook.office.com/api/v2.0" .Check this demo 带有 Microsoft Office 365 邮件、日历和联系人库 v2.0

Can you please confirm if this URL is appearing correct or am I missing anything

returnURL很期待

您项目引用的 Office 365 API DLL 版本与端点 URI 发现服务 return 无关。您可以引用 none Office 365 API DLL,但仍然使用发现服务客户端。因此,将 Office 365 API DLL 更改为 V2 不会影响 DiscoveryClient return 端点。

为 Discovery Client 明确使用 v2.0 服务端点也无济于事,

var discoveryClient = new DiscoveryClient(new Uri(@"https://api.office.com/discovery/v2.0/me/"),
                async () => await GetAccessTokenForResource("https://api.office.com/discovery/"));

可以在 here 中找到 v1.0 和 v2.0 发现服务端点之间的区别。

如果您想使用 V2 Office 365 API,硬编码端点“https://outlook.office.com/api/v2.0", per the post in .

是安全的