Google云端硬盘服务帐户附加存储

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google云端硬盘服务帐户附加存储相关的知识,希望对你有一定的参考价值。

我有一个应用程序,我的应用程序的用户可以上传/下载文件,我不希望他们每次想要上传文件时进行授权。所以我开始知道服务帐户是它的解决方案,这正是我所寻求的。我按照本页面给出的说明操作:

https://developers.google.com/drive/service-accounts

这一切都很好,但问题是限制,即只有5GB,是不是有任何办法我可以为我的服务帐户购买一些Additonal Storage(有人提到它无法完成,但我仍然只想确认)。我不想使用Web服务器流,我保存凭证,即访问令牌,并在每次到期时刷新令牌。我的问题有什么解决方案吗?

答案

在您自己的谷歌驱动器帐户而不是谷歌驱动器服务帐户中存储文件的解决方案是授予所有者对您的谷歌开发人员控制台中的服务帐户的权限。

然后在您的个人google驱动器中创建一个文件夹,并获取该文件夹的ID。

当您使用服务帐户上传文件时,请确保将该文件夹的ID作为您正在上传的文件的父ID

$file = new Google_Service_Drive_DriveFile();
  $file->title = "Automata";
$parent = new Google_Service_Drive_ParentReference();
$parent->setId('Your Folder id');
$file->setParents(array($parent));
  $requestss = $drive_service->files->insert($file,array(
      'data' => $data,
      'mimeType' => 'application/pdf',
    ));

$permission = new Google_Service_Drive_Permission();
$permission->setRole( 'writer' );
$permission->setType( 'anyone' );
$permission->setValue( 'youraccount@gmail.com' );
$drive_service->permissions->insert( $requestss->getId(), $permission ); 

现在,您将能够将文件上传到您自己的Google驱动器而不是服务帐户驱动器

希望这可以帮助

另一答案

看一眼:

https://developers.google.com/drive/service-accounts

服务帐户无法购买额外的存储空间,因此您需要使用常规的Google帐户。

另一答案

将普通帐户的文件夹分享到您的服务帐户。 您的服务帐户地址类似于XXX@XXX.iam.gserviceaccount.com。 然后,您的服务帐户可以从普通帐户中查看共享文件夹。 现在,您的服务帐户将获得普通帐户的额外存储空间。

以上是关于Google云端硬盘服务帐户附加存储的主要内容,如果未能解决你的问题,请参考以下文章

使用VBA上传到Google云端硬盘?

使用服务帐户上传 Google Drive 总是返回 403(存储配额)

Google 课堂测试帐户无法访问云端硬盘

使用Android应用无法在Google云端硬盘上看到PC上传的文件

如何从webapp重定向到Google云端硬盘应用

如何通过 Google Drive .NET API v3 使用服务帐户访问 Team Drive