【发布时间】:2015-12-14 09:14:27
【问题描述】:
【问题讨论】:
标签: google-api google-drive-api drive
【问题讨论】:
标签: google-api google-drive-api drive
如果您有相关文件的文件 ID,则 Files: get 您需要添加字段,即父母以及文件 ID。
请求
获取 https://www.googleapis.com/drive/v3/files/0B5pJkOVaKccENWNNcFFaU2lSM0E?fields=parents&key={YOUR_API_KEY}
返回
{“父母”:[“0B5pJkOVaKccEYW5lVHBKd1Zwc28”]}
结果实际上是一个文件 id。请记住 Drive 中的文件和目录是相同的。
再次执行 files.get
获取 https://www.googleapis.com/drive/v3/files/0B5pJkOVaKccEYW5lVHBKd1Zwc28?key={YOUR_API_KEY}
结果
{ "kind": "drive#file", "id": "0B5pJkOVaKccEYW5lVHBKd1Zwc28", “名称”:“站点备份”、“mimeType”: “应用程序/vnd.google-apps.folder”}
【讨论】:
恭喜,您在我们officially announced it 之前几个小时发现了 Google Drive API 版本 3。 :)
在 v3 中,不再有父母集合。相反,您可以通过使用孩子的 ID 执行 files.get 来获得父母的财产。理想情况下,您将使用fields parameter 将响应限制为仅限父母。注意:一个文件可能有多个父级,因此请准备好处理多个父级。
您可以通过查看migration cheat sheet 了解从 v2 到 v3 的变化。
【讨论】:
fileId 的文件列表的功能? fileId in children?为什么?现在我们必须调用 fileId,获取 parentId 数组,然后单独调用来获取这些文件。比较麻烦。
:fileId in children 调用/files,它会返回一个DriveFile 对象的集合(完全扩展,就像那个端点的std)谁是那个的父对象文件标识。一个电话。
如果你使用 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();
【讨论】: