我正在使用/drive/root:/{item-path}:/view.delta
来获取根文件夹中OneDrive for Business中文件的更改。我尝试使用类似/drive/root:/Files/filename:/view.delta
的路径,但响应是找不到资源的。有人可以解释这个值究竟是什么?
我关注的链接如下。
答案 0 :(得分:1)
该错误表明/Files/filename
不存在,但即使这样做,您也会遇到view.delta
当前如何与OneDrive for Business合作的另一个限制。长话短说,它仅限于处理驱动器的根目录,即/drive/root/view.delta
。使用此路径,您将获得驱动器中所有项目的更改,而不仅仅是您感兴趣的项目。
鉴于您正在尝试检测单个文件中的更改,您可能需要考虑带有If-None-Match
标头的标准元数据请求,该标头包含应用程序看到的最后状态的ETag。
例如,您首先发出请求而没有任何其他标头来获取初始状态:
请求:
GET /_api/v2.0/drive/root:/File/filename
响应:
200 OK
{
...
"name": "filename",
"etag": "\"aasdfasdf\"",
"modifiedDateTime": "2016-01-01T00:00:00Z",
...
}
在将来的某个时刻,您可以使用If-None-Match
标题中的etag值拨打电话:
请求:
GET /_api/v2.0/drive/root:/File/filename
If-None-Match: "aasdfasdf"
响应:
304 Not Modified
如果文件实际发生了变化,您将收到新的回复。
请求:
GET /_api/v2.0/drive/root:/File/filename
If-None-Match: "aasdfasdf"
响应:
200 OK
{
...
"name": "filename",
"etag": "\"poihklhjl\"",
"modifiedDateTime": "2016-04-19T00:00:00Z",
...
}