获取Google云端硬盘中所有文件夹的列表-Google云端硬盘API

问题描述

是否可以使用Google Drive API获取“我的云端硬盘”中所有文件夹的列表。这是我要编写的功能

function getAllFolders(){
    // Get all folders
}

(我查看了其他一些堆栈溢出帖子,但它们对我不是很有帮助)。

解决方法

使用查询字符串q,您可以按照documentation的语法搜索文件和文件夹

在查询字符串中使用mimeType = 'application/vnd.google-apps.folder'仅获取文件夹。

有一个简单的例子:

<?php

$service = new Google_Service_Drive($client);
$folderID = "root";

$optParams = array(
            'pageSize' => 100,'fields' => 'nextPageToken,files(id,name,mimeType,modifiedTime,size,parents)','q' => "mimeType = 'application/vnd.google-apps.folder' and '".$folderID."' in parents"
        );
        
$results = $service->files->listFiles($optParams);
foreach ($results as $file) {
    // do somethings
}