2017-05-03 50 views
1

我試圖得到不同對象的記錄數。/$ count過濾的API的響應不一致地給出了錯誤的響應。 我指的是this文檔鏈接的使用說明。

請求URL:GET https://outlook.office.com/api/v2.0/me/Events/ $算

響應:-1

要驗證上述反應是合法的,我試圖讓帶有跳躍過濾器所有事件,以確定實際可記錄的數量當下。 以下請求URL一定的嘗試後給了我最終計數:

請求URL:GET https://outlook.office.com/api/v2.0/me/events/ $跳過= 159

Response: 
{ 
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events", 
"value": [ 
    { 
     "Id": "AAMkADMzYzIxNTBjLWUyMWUtNDgzYi04NTEwLTc5YTkzMWI5MmE4MgBGAAAAAABjOnbtK9ZkTIjwInd5bfYcBwDe_ScfFfAUQaKHRwnzV1lBAAAAAAENAADe_ScfFfAUQaKHRwnzV1lBAACs2ojfAAA=", 
     "CreatedDateTime": "2016-11-28T11:09:03.8359488Z", 
     "LastModifiedDateTime": "2017-02-21T08:04:48.8262751Z" 
    } 
] 

}

這意味着,跳繩159張的記錄之後,我在經過驗證的帳戶中存在第160條記錄,但$ count過濾的API不會提供有效的回覆。

我試着用兩個不同的賬戶測試這個場景,我注意到這個/ message API的異常。 HTTP GET調用消息/ $計數給我1563,而嘗試使用跳過篩選器後,我發現總數爲1396

我想知道$ count是否返回合法的響應?如果是,那麼解釋這個異常如果沒有,那麼是否有任何模式,我們應該期望對不一致的反應?

回答

0

要計算事件數量,您需要指定開始時間和結束時間。以下是我使用:

https://outlook.office.com/api/v2.0/me/calendarview/$count?startDateTime=2017-05-01T00:00:00Z&endDateTime=2017-05-31T23:59:59Z 

如果沒有指定的日期,你會得到400以下錯誤消息:

{"error":{"code":"ErrorInvalidParameter","message":"This request requires a time window specified by the query string parameters StartDateTime and EndDateTime."}} 
+0

你的/ calendarview API所提到的方式,我想與/事件,它不工作:(,仍然得到-1作爲迴應。 –

+0

您可以請發佈一個鏈接到您使用的API參考?因爲我沒有看到任何API接近你的在這裏(https://msdn.microsoft.com/en-us/office/office365/api/calendar-rest-operations) –

+0

[This](https://msdn.microsoft.com/en-us/office/office365/ API /複合型換郵件的聯繫人,日曆#伯爵)是我找到使用計數的參考。此示例顯示消息對象。以類似的方式,我測試了日曆和聯繫人以及API文檔中提供的其他幾個對象。這種不一致是在'事件'的情況下,我得到的答覆爲-1。 –