2

我正在使用Office 365 API的V1 DLL來執行日曆操作。 我搬到V2 DLL,但我仍然有版本1.0.22Microsoft.Office365.Discovery - CapabilityDiscoveryResult - > ServiceEndpointUri在使用Office 365 V2 DLL後出現錯誤的URi

Microsoft.Office365.Discovery在創建OutlookServiceClient,我創建CapabilityDiscoveryResult(DCR)dcr.ServiceEndpointUri的

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

值仍然出現如https://outlook.office365.com/api/v1.0 enter image description here 當我將這個URi更改爲v2.0時,它對我來說工作得很好。

這是導致該問題的同時創造使用V2 DLL

我已刪除DLL的一個事件,並再次加入他們(以防萬一,如果我錯過了什麼)按照V2 DLL依賴。

你能確認一下這個URL是否顯示正確或者我錯過了什麼。也讓我知道我可以在哪裏再次檢查。

在此先感謝。

+0

您是否已將DiscoveryService端點設置爲https://api.office.com/discovery/v2.0/me? – Jackie

回答

1

能否請您確認,如果該URL顯示正確的還是我失去了什麼

返回URL是相當期望的。

您項目引用的Office 365 API DLL的版本是端點URI發現服務返回的不相關。您可以引用任何Office 365 API DLL,但仍使用發現服務客戶端。因此,將Office 365 API DLL更改爲V2不會影響DiscoveryClient返回端點。

明確使用發現客戶端2.0版的服務端點也沒有幫助,

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

v1.0和v2.0的發現服務端點之間的差異可以在here找到。

如果您想要使用V2 Office 365 API,則對於here中的帖子,硬編碼端點「https://outlook.office.com/api/v2.0」是安全的。

0

發現是沒有必要的展望,你可以跳過,創造像OutlookServicesClient對象:

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

前景終點應該是「https://outlook.office.com/api/v2.0」。檢查this demo與Microsoft Office 365的郵件,日曆和聯繫人圖書館2.0

相關問題