使用MS Graph API / beta端点确定列表是否已更新/更改。
首先使用以下查询:
https://graph.microsoft.com/beta/sites/xxxxx.sharepoint.com:/sites/xxxxx?$expand=lists(select=id, name, system, lastModifiedDateTime)
并确实获得了以下日期:
"lastModifiedDateTime": "2018-10-08T10:23:37Z",
但是,当对这些项目进行查询并通过以下查询查看最新项目的日期时: https://graph.microsoft.com/beta/sites/xxxxx.sharepoint.com,92af4fbc-04bc-46d8-9c78-f63832fbf48a,1b59d85a-41bd-4498-a64c-17bd13069d90/lists/b9c39323-076a-4ae7-942b-1d0060a6b352/items
您可以看到日期:
"createdDateTime": "2018-10-08T10:23:37Z"
"lastModifiedDateTime": "2018-10-08T10:29:14Z",
您可以看到列表上的lastModifiedDateTime属性实际上看起来像lastCreatedDateTime
吗?
最好的问候, 金
编辑:
第一个图请求获取SitePages列表及其lastModifiedDateTime:
{
"id": "b9c39323-076a-4ae7-942b-1d0060a6b352",
"lastModifiedDateTime": "2018-10-08T10:23:37Z",
"name": "SitePages",
"system": {}
},
但是,如果我们再查看列表中的项目,我们可以看到它的项目具有更高的lastModifiedDateTime(第二个图形请求):
"createdDateTime": "2018-10-08T10:23:37Z",
"eTag": "\"27e03a98-9321-4586-8ef1-0b5323c26730,6\"",
"id": "8",
"lastModifiedDateTime": "2018-10-08T10:29:14Z",
我们还可以看到列表项的createdDateTime与列表lastModifiedDateTime相同。看起来像是API中的错误。第一个请求中的日期应为“ 2018-10-08T10:29:14Z”。你不同意吗?
答案 0 :(得分:0)
作为您的描述,我想您想知道为什么LastModifyDateTime
与众不同。
根据我的测试,您的第一个链接是获取特殊站点的lastModifyDateTime
,
但是您的第二个链接是关于b9c39...
的项目的。
我们可以使用MS Graph Explore检查这两个站点是否存在某些差异。
答案 1 :(得分:0)
实际上,这似乎是一个错误,因为List
resource lastModifiedDateTime
属性返回了无效值,它似乎映射到了最后一个列表项的日期和创建项目的时间(ListItem.createdDateTime
)
也可以使用以下端点将其确认为错误(在两个示例中均返回 valid lastModifiedDateTime
值):
https://graph.microsoft.com/beta/sites/ {site-id} / lists / {list-id} / drive / root?select = lastModifiedDateTime
https://tenant.sharepoint.com/_api/web/lists/getbyid({list-id})?$ select = LastItemModifiedDate
同时,作为一种解决方法,可以考虑使用以下解决方案枚举站点列表:
https://graph.microsoft.com/beta/sites/{site-id}/drives?expand=root(select=lastModifiedDateTime)
其中root/lastModifiedDateTime
返回有效值
限制:仅返回文档库