当试图转移所有权时,我得到以下错误:
"domain": "global",
"reason": "invalidSharingRequest",
"message": "Bad Request. User message: \"You can't change the owner of this item.\""
下面是我的代码:
use Google_Client;
use Google_Service_Drive;
use Google_Service_Drive_DriveFile;
use Google_Service_Drive_Permission;
public function uploadDocument() {
$FOLDER_ID = 'my_folder_ID_string';
$client = new Google_Client();
$client->setAuthConfig(base_path('service_account_credentials.json'));
$client->setScopes(array('https://www.googleapis.com/auth/drive'));
$service = new Google_Service_Drive($client);
$fileMetadata = new Google_Service_Drive_DriveFile(array(
'name' => 'Test.pdf',
'parents' => [$FOLDER_ID]
));
$content = file_get_contents(public_path('tmp/Test.pdf'));
$file = $service->files->create($fileMetadata, array(
'data' => $content,
'mimeType' => 'application/pdf',
'uploadType' => 'multipart',
'fields' => 'id'
));
// Transfer Ownership
$newPermission = new Google_Service_Drive_Permission();
$newPermission->setRole('owner');
$newPermission->setType('user');
$newPermission->setEmailAddress('email@gmail.com');
$optParams = array('transferOwnership' => 'true');
$service->permissions->create($file->id, $newPermission, $optParams);
}
该文件夹已成功上传到共享文件夹中的Google Drive(所有者为'email@gmail.com',服务帐户为'editor'),但上传文件的所有者为服务帐户,编辑器为'email@gmail.com'。
根据文档:
共享驱动器中的文件由共享驱动器所有,而不是单个用户。
因此,没有必要从服务帐户中“拿走”所有权。
通过添加以下行修改代码
$Client->SetSubject($emailofUsertoImpersonate);
我正在谷歌驱动器上创建文件与服务帐户。NET客户端API。 我成功地创建了文件, 与所有域共享,但我不能将所有权转移到一个域用户。 我得到错误:
我将私有存储库的所有权转移到了一个不同的GitHub帐户。存储库仍然是私有的。当我试图将更改从本地repo推到新的远程存储库时,它会给我带来致命的后果:错误。我已经更改了url、用户名和用户电子邮件。我能做些什么来解决这个问题呢?
我们正在使用服务帐户从服务器上传文件,它已经达到其存储配额限制。所有文件都被添加到另一个用户创建的文件夹下(一个@gmail.com帐户,存储配额为100 Gb),但上传的所有文件都归服务帐户所有。 请注意,我们没有真正的用户,我们只是使用谷歌驱动器存储目的。 目前,我们无法上传任何更多的文件使用服务帐户。 null 谢谢
我无法使用服务帐户插入google drive。相反,我可以使用相同的服务帐户从google drive下载和更新文件,而不会出现任何问题。我通过转到[我的项目]从特定用户(我们称之为用户“X”)的帐户中创建了服务帐户- 然后,我专门转到用户“X”的MyDrive上的一个文件夹,并将该文件夹与OAuth2的“创建新客户端ID”步骤生成的服务帐户电子邮件地址共享。我确保指定该文件夹的服务帐户权限为“
我在AWS云服务中设置了一个项目。在那里我使用了EC2实例、AMI、弹性IP、互联网门路、NACL、路由表、安全组、自定义VPC、私有和公共子网、弹性负载平衡、自动伸缩、启动配置、KMS-key、Lambda、RDS Aurora实例、S3桶、简单电子邮件服务、简单队列服务、简单通知服务、云观察日志。现在我的客户要求将所有服务从现有的AWS帐户迁移到新的AWS帐户。