查找文件的 parent id : Google Drive API V3
Find file's parent id : Google Drive API V3
今天我将我的驱动器 API 更新到 V3 后,我找不到任何方法来找到所选文件的 parent。用于获取 json 与 parent 的信息相关的其余端点是否已更改?
如果您有相关文件的文件 ID,那么 Files: get 您需要添加字段,即父项以及文件 ID。
请求
GET
https://www.googleapis.com/drive/v3/files/0B5pJkOVaKccENWNNcFFaU2lSM0E?fields=parents&key={YOUR_API_KEY}
Returns
{ "parents": [ "0B5pJkOVaKccEYW5lVHBKd1Zwc28" ] }
结果实际上是一个文件id。请记住文件和目录在云端硬盘中是相同的。
再做一次files.get
GET
https://www.googleapis.com/drive/v3/files/0B5pJkOVaKccEYW5lVHBKd1Zwc28?key={YOUR_API_KEY}
结果
{ "kind": "drive#file", "id": "0B5pJkOVaKccEYW5lVHBKd1Zwc28",
"name": "SiteBackups", "mimeType":
"application/vnd.google-apps.folder" }
恭喜,您比我们 officially announced it 早几个小时找到了 Google Drive API 版本 3。 :)
在 v3 中,不再有 parents 集合。相反,您通过执行 files.get with the child's ID. Ideally, you would use the fields parameter 将响应限制为仅 parent(s) 来获得 parents 属性。注意:一个文件可能有多个 parent,因此请准备好处理多个 parent。
您可以通过查看 migration cheat sheet.
了解从 v2 到 v3 的变化
如果你是用SDK来做的
$service = new Google_Service_Drive($client);
// Print the names and IDs.
$optParams = array(
'fields' => 'nextPageToken, files(id, name, fileExtension, trashed, webViewLink, mimeType, ownedByMe, parents, fileExtension, webContentLink)',
'q' => $folderId . " in parents" // pass the folder id as a string to the variable $folderId
);
$results = $service->files->listFiles($optParams);
$results = $results->getFiles();
像下面这样使用它
let fileMetadata = {
'name': new Date()+'-dbBackup.zip',
'parents': [ '1193XW7zIzQHZHRIzkYzbFqwDC-ruGb-TE' ]
};
今天我将我的驱动器 API 更新到 V3 后,我找不到任何方法来找到所选文件的 parent。用于获取 json 与 parent 的信息相关的其余端点是否已更改?
如果您有相关文件的文件 ID,那么 Files: get 您需要添加字段,即父项以及文件 ID。
请求
GET https://www.googleapis.com/drive/v3/files/0B5pJkOVaKccENWNNcFFaU2lSM0E?fields=parents&key={YOUR_API_KEY}
Returns
{ "parents": [ "0B5pJkOVaKccEYW5lVHBKd1Zwc28" ] }
结果实际上是一个文件id。请记住文件和目录在云端硬盘中是相同的。
再做一次files.get
GET https://www.googleapis.com/drive/v3/files/0B5pJkOVaKccEYW5lVHBKd1Zwc28?key={YOUR_API_KEY}
结果
{ "kind": "drive#file", "id": "0B5pJkOVaKccEYW5lVHBKd1Zwc28", "name": "SiteBackups", "mimeType": "application/vnd.google-apps.folder" }
恭喜,您比我们 officially announced it 早几个小时找到了 Google Drive API 版本 3。 :)
在 v3 中,不再有 parents 集合。相反,您通过执行 files.get with the child's ID. Ideally, you would use the fields parameter 将响应限制为仅 parent(s) 来获得 parents 属性。注意:一个文件可能有多个 parent,因此请准备好处理多个 parent。
您可以通过查看 migration cheat sheet.
了解从 v2 到 v3 的变化如果你是用SDK来做的
$service = new Google_Service_Drive($client);
// Print the names and IDs.
$optParams = array(
'fields' => 'nextPageToken, files(id, name, fileExtension, trashed, webViewLink, mimeType, ownedByMe, parents, fileExtension, webContentLink)',
'q' => $folderId . " in parents" // pass the folder id as a string to the variable $folderId
);
$results = $service->files->listFiles($optParams);
$results = $results->getFiles();
像下面这样使用它
let fileMetadata = {
'name': new Date()+'-dbBackup.zip',
'parents': [ '1193XW7zIzQHZHRIzkYzbFqwDC-ruGb-TE' ]
};