为什么G-Drive没有返回我的文件列表?

时间:2018-05-08 19:24:00

标签: php google-api google-drive-api google-api-php-client service-accounts

我正在使用以下代码连接并向G-API发出请求:

require_once '/google-api/vendor/autoload.php';
putenv('GOOGLE_APPLICATION_CREDENTIALS=/mySecretFile.json');

$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->addScope("https://www.googleapis.com/auth/drive");

$service = new Google_Service_Drive($client);

$files = $service->files->listFiles()->getFiles();

foreach($files as $file){
    print_r($file); 
}

我尝试了几次这个代码,所有这些结果只有1个文件,我相信这不是我的,因为它在我的驱动器中不存在,所以发生了什么?有我唯一的文件的图像。

enter image description here

1 个答案:

答案 0 :(得分:1)

您似乎正在使用服务帐户进行身份验证。将服务帐户视为虚拟用户。服务帐户拥有自己的Google云端硬盘帐户,谷歌日历,可能还有更多。

您看到的文件可能是其云端硬盘帐户中的文件。如果您希望它可以访问您的个人驱动器帐户,那么您将必须获取服务帐户电子邮件地址并共享您希望其拥有访问权限的目录。

注意:你不能共享根文件夹