我对如何操作更改API感到很困惑。
目前,我只是提出请求:
https://www.googleapis.com/drive/v3/changes?access_token=**my_token**&pageToken=68485 **Last few additions to the list
我明白了:
{
"kind": "drive#changeList",
"newStartPageToken": "68489",
"changes": [
{
"kind": "drive#change",
"type": "file",
"time": "2017-04-08T00:40:36.141Z",
"removed": false,
"fileId": "***ID",
"file": {
"kind": "drive#file",
"id": "***ID",
"name": "***NAME",
"mimeType": "application/vnd.google-apps.folder"
}
},
{
"kind": "drive#change",
"type": "file",
"time": "2017-04-08T00:41:00.171Z",
"removed": false,
"fileId": "***ID2",
"file": {
"kind": "drive#file",
"id": "***ID2",
"name": "***NAME2",
"mimeType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
}
}
]
我不知道对更改数组中的第一项进行了更改。
玩完之后,我意识到每次打开文件夹时都会添加更改,为什么?是因为元数据正在发生变化,即last-accessed
?
预览/打开/下载文件时是否会发生同样的事情?
我在数组中删除了第二项,但它没有显示任何内容。
我究竟能告诉你什么是改变的。我试图检索文件更新,创建,删除等事件。
答案 0 :(得分:0)
更改使用的官方属性,可在Changes resource representations中找到:
price = [9.95, 14.95, 19.95, 24.95, 29.95, 34.95, 39.95, 44.95, 49.95]
discount = range(0, 51, 5)
for i in discount:
K = 1 - (i/100)
for j in price:
P = j * K
V ="${:.2f}".format(P)
C ='{:>7}'.format(V)
print("o f f : " +str(i) + "%" if i else "Normal P r i c e : " if j else "", str(C).replace("."," . "), end=" ")
print()
答案 1 :(得分:0)
现在这可能不是一个完整的答案,但我想分享一些观点。
是因为元数据正在改变,即最后一次访问?
是的,确实如此。它有点奇怪,但是,即使预览文件也算作变化。如果您密切关注云端硬盘的Android应用,您可以看到只需查看照片就会将其填充到"最近的"标签
在API v2中,甚至有一个files.touch()方法,仅用于更新文件的上次访问时间!
我到底要告诉我们要改变什么?
changes.list()
返回了一个名为changes[]
的属性,该属性包含更改。您可以使用它来确定更改是否与您相关(如更新,创建,删除)或忽略它只是一个预览。
要添加此功能,不是连续检查更改,而是更有效地检测更改,方法是使用changes.watch()
方法订阅更改的更新,我希望您已经知道。< / p>
关于捣乱。垃圾并没有真正改变&#34; Drive中的文件。丢失的文件被视为普通文件,除了具有&#34; Trashed&#34;标志,这使它直接隐形。请注意,协作者仍可以访问共享文件,即使它已被删除。但是,如果文件被永久删除,则应触发更改。