有没有办法从Microsoft Graph获取 n 一年左右内创建的最新列表项或项目?
到目前为止,我已尝试过:
// .Filter("CreatedDateTime gt 2016-12-18T14:13:30Z")
var news = client.Sites[Root]
.SiteWithPath(path)
.Lists[newsListId]
.Items
.Request()
.Filter("CreatedDateTime gt 2016-12-18T14:13:30Z")
.GetAsync()
.Result;
// => The request is malformed or incorrect.
// .OrderBy("CreatedDateTime desc")
var news = client.Sites[Root]
.SiteWithPath(path)
.Lists[newsListId]
.Items
.Request()
.OrderBy("CreatedDateTime desc")
.GetAsync()
.Result;
// => returns data but not in the requested order
//.Filter("year(CreatedDateTime) eq 2017")
var news = client.Sites[Root].SiteWithPath(path)
.Lists[newsListId]
.Items
.Request()
.Filter("year(CreatedDateTime) eq 2017")
.GetAsync()
.Result;
// => ServiceException: Code: itemNotFound
// Message: The resource could not be found.
答案 0 :(得分:0)
将结果限制为N结果的查询参数为$ top。见https://developer.microsoft.com/en-us/graph/docs/concepts/query_parameters
我不熟悉你正在使用的SDK,所以我不能给你确切的代码,但是这个URL形式的样本将是
https://graph.microsoft.com/v1.0/sites/root/lists?$top=4
也许你可以试试:
.Top(N)
为了按日期字段过滤Sharepoint列表项目,我没有成功使用/ items /中提供的“createdDateTime”字段。我已成功过滤存储在事件字段中的“已创建”时间戳。这是格式: ... / items /?$ filter = fields /创建了'2017-12-22'
所以看看上面的示例,也许可以尝试:
.Filter("fields/Created lt '2017-12-22'")