问:Google Drive API - 获取已修改的文件

时间:2017-06-24 00:56:00

标签: google-drive-api

在请求自特定时间以来修改的文件列表时,是否有人知道在修改文件后显示文件的响应需要多长时间?

我在6/24之后的12:30(几分钟前)修改了一个文件。如果我请求自上一天晚上8:35以来修改过的文件列表,则会显示该文件:

请求(modifiedTime>“2017-06-23T21:30:00.000Z”)

GET https://www.googleapis.com/drive/v3/files?corpora=teamDrive&includeTeamDriveItems=true&orderBy=modifiedTime+desc&q=(trashed+!%3D+true)+AND+(NOT+(mimeType+contains+%22.folder%22))+AND+(modifiedTime+%3E+%222017-06-23T21%3A30%3A00.000Z%22)&supportsTeamDrives=true&teamDriveId=0AF36YeSWsu3dUk9PVA&fields=files(name%2Cid%2CfileExtension%2CmimeType%2CcreatedTime%2CmodifiedTime%2Csize%2CimageMediaMetadata(height%2Cwidth)%2Cparents%2CwebContentLink%2CheadRevisionId)&key={YOUR_API_KEY}

RESPONSE

{
 "files": [
  {
   "id": "1gc9ooedN1YNQkMHqFuI-keekHvuN9h57ssz8Dn8cpU0",
   "name": "2017 Men's NCAA Wrap-Up",
   "mimeType": "application/vnd.google-apps.spreadsheet",
   "parents": [
    "0B4jAnSzS-VxlLVpBQ21KMjVMSE0"
   ],
   "createdTime": "2017-06-16T12:38:55.364Z",
   "modifiedTime": "2017-06-24T00:31:46.251Z"
  }
 ]
}

如果我要求自上一天晚上11:30起更新的文件列表,则不会:

请求(modifiedTime>“2017-06-23T23:30:00.000Z”)

GET https://www.googleapis.com/drive/v3/files?corpora=teamDrive&includeTeamDriveItems=true&orderBy=modifiedTime+desc&q=(trashed+!%3D+true)+AND+(NOT+(mimeType+contains+%22.folder%22))+AND+(modifiedTime+%3E+%222017-06-23T23%3A30%3A00.000Z%22)&supportsTeamDrives=true&teamDriveId=0AF36YeSWsu3dUk9PVA&fields=files(name%2Cid%2CfileExtension%2CmimeType%2CcreatedTime%2CmodifiedTime%2Csize%2CimageMediaMetadata(height%2Cwidth)%2Cparents%2CwebContentLink%2CheadRevisionId)&key={YOUR_API_KEY}

RESPONSE

{
 "files": [
 ]
}

最终文件将显示在列表中,但似乎不是几分钟(我在5分钟后停止点击刷新)。如果我走了一两个小时,它会显示在列表中。有趣的是,如果在响应中返回文件,则文件上的modifiedTime会立即正确(请参阅上面的第一个响应)。这是一个错误还是我应该在查询返回正确的结果之前等待一段时间(如果是这样,多长时间)?

1 个答案:

答案 0 :(得分:0)

我发现的答案是时间似乎有所不同。我已经切换到使用drive.changes.list方法而不是使用" q"的drive.files.list方法。参数。更改列表中不仅会更快地显示更改,而且您实际上可以看到文件与#34; modifiedTime"之间的差异。和变化"时间"。我看到它的范围从几秒钟到10-15分钟。

我的另一个观察是,如果我在浏览器中关闭文件,更改列表中会立即显示更改 。我猜Google自动会在特定时间保存文档。在文档打开时,我无法找到强制保存的方法。显式文件|保存可能很好,但关闭窗口似乎可以解决问题。