2017-05-03 140 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。 –