如何通过google/apiclient检查Google Drive中指定ID的目录是否存在?
检查有权限访问的Google Drive目录是否存在
原代码尝试通过listFiles接口并使用id作为查询条件判断目录是否存在,但Google Drive查询语言不支持将id作为搜索词。更高效且正确的做法是直接调用files.get接口验证:
try { // 仅请求id字段以减少数据传输 $drive->files->get($driveDirId, ['fields' => 'id']); $directoryExists = true; // 目录存在且有权限访问 } catch (Google\Service\Exception $e) { $directoryExists = false; // 目录不存在或无访问权限 }
说明
- 该方式直接针对单个目录资源发起请求,比搜索查询更高效。
- 通过捕获
Google\Service\Exception可覆盖两种场景:目录不存在(404状态码)或无访问权限(403状态码),若只需判断是否可访问,使用上述逻辑即可。
内容的提问来源于stack exchange,提问作者gvlasov
相关产品推荐
相关产品推荐

