为了账号安全,请及时绑定邮箱和手机立即绑定

google drive file.list 查询为子文件夹 ID 返回 false - php

google drive file.list 查询为子文件夹 ID 返回 false - php

PHP
ibeautiful 2022-06-17 14:20:29
我可以使用以下功能列出位于谷歌驱动器根目录中的文件夹中的项目。但是当我尝试在位于父文件夹内的子文件夹中列出项目时(父文件夹位于谷歌驱动器的根目录中)[父文件夹] //“子文件夹”和“其他文件”正在列出       └------[SUB FOLDER] //当我尝试将此文件夹 ID 作为父文件夹时,查询返回 false       | └--------[文件位于子文件夹内]       └------[其他文件]用于从谷歌驱动器列出文件的功能:函数 listFilesFolders($client, $search, $subFolderId){        $service = new Google_Service_Drive($client);        //位于谷歌驱动器根目录的文件夹ID        //如果我使用此 ID 运行查询,则工作正常        $superParentId = '1Xky058b134vadgSOyD-ADFagaGAGAdgha';        //正常工作的查询        //$query = "'".$superParentId."' 在父母和垃圾= false";        //为位于父文件夹内的子文件夹运行的查询 ($superParentId)        $query = "'".$subFolderId."' 在父母和垃圾= false";        $optParams = array('q' => $query);        // 将文件和文件夹列表作为对象返回        $results = $service->files->listFiles($optParams);        // 如果没有找到,则返回 false        if (count($results->getFiles()) == 0) {            返回假;        }        // 将数组转换为对象        $结果 = 数组();        foreach ($results->getFiles() as $file) {            $result[$file->getId()] = $file->getName();        }        返回$结果;}我可以知道如何列出位于子文件夹中的文件吗?
查看完整描述

1 回答

?
慕娘9325324

TA贡献1783条经验 获得超4个赞

你需要做两件事


找出您的超级父文件夹中的哪些文件是子文件夹您可以使用修改后的查询来完成:

$query2 = "'$superParentId' in parents and trashed = false and mimeType='application/vnd.google-apps.folder'";

... 

循环列出这些子文件夹中包含的文件

...

$query3 = "'$subFolderId' in parents and trashed = false";

...


查看完整回答
反对 回复 2022-06-17
  • 1 回答
  • 0 关注
  • 123 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信