【问题标题】:Why isn't G-Drive returning my files list?为什么 G-Drive 不返回我的文件列表?
【发布时间】:2018-05-08 19:23:59
【问题描述】:

我正在使用以下代码连接 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); 
}

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

【问题讨论】:

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


【解决方案1】:

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

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

注意:不可以共享根文件夹

【讨论】:

  • 知道了,真的很有趣,我在任何地方都没有读到它......无论如何,与我创建的服务帐户共享我的文件夹,我可以使用这个机器人来做所有事情吗?喜欢listing、uploadind...?
  • 如果您上传文件,您的服务帐户将发挥相同的作用,只需观看权限,确保授予您自己的帐户访问权限。
猜你喜欢
  • 2012-08-27
  • 2022-01-09
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 2017-03-20
  • 1970-01-01
  • 1970-01-01
  • 2017-10-04
相关资源
最近更新 更多