我正在使用Sharepoint 2013 REST api来查找根站点中发生的增量更改。我的要求如下:
headers = {"Authorization": 'Bearer ' + access_token, "accept": "application/json", "odata": "verbose"}
headers["content-type"] = "application/json;odata=verbose"
body = { 'query': { '__metadata': { 'type': 'SP.ChangeQuery' },'Web': True, 'Update': True, 'Add': True,
'ChangeTokenStart':{'__metadata':{'type':'SP.ChangeToken'},
'StringValue': '1;1;5b9752ee-f410-4cc6-9ab6-eb18c2ad802f;636252579049500000;89866182'}
}
}
作为回应,我收到了很多changerequest对象。其中一个如下:
{
'odata.type': 'SP.ChangeWeb',
'ChangeToken': {
'StringValue': '1;1;5b9752ee-f410-4cc6-9ab6-eb18c2ad802f;636252779425600000;89976872'
},
'WebId': '6e21eadd-4155-494d-9a8e-1046865bdd4b',
'ChangeType': 2,
'odata.id': 'https://<site url>/_api/SP.ChangeWeb87f1a9c6-937b-4507-973d-fc2d1b949aed',
'SiteId': '5b9752ee-f410-4cc6-9ab6-eb18c2ad802f',
'odata.editLink': 'SP.ChangeWeb87f1a9c6-937b-4507-973d-fc2d1b949aed',
'Time': '2017-03-16T16:19:02.56Z'
有人可以帮我理解答案吗?我很难找到发生变化的路径。此外,这会改变API捕获站点中子站点中发生的变化吗?
答案 0 :(得分:1)
是列表和图书馆在一天结束时是一回事。您可以通过剥离上述案例中的最后一个段(Items(1))从odata.editLink获取列表标题。如果您调用该路径,它将为您提供列表与已修改项目/文件的详细信息。如果您想要用户的详细信息,请调用/ _api / Web / lists / getbytitle(&#39;用户信息列表&#39;)/ Items(EditorId)。如果你想要项目/文件的路径调用odata.editlink并且返回的serverrelativeurl参数将具有它的路径,title将具有项目/文件的标题。
答案 1 :(得分:0)
当然,ChangeType是您需要的主要信息,它是可枚举的。您可以在此处查找数字的友好名称:ChangeType Enumeration
因此,在这种情况下,这似乎是对SPWeb设置的更新,其中包含&#39; 6e21eadd-4155-494d-9a8e-1046865bdd4b&#39;
您可能还希望在REST查询中使用$ expand运算符来获取其他字段。