Saya menggunakan akaun perkhidmatan untuk memuat naik fail ke folder kongsi dalam Google Drive.
Selepas beberapa lama saya mendapati bahawa fail yang dimiliki oleh akaun perkhidmatan telah menggunakan storan pemacu akaun perkhidmatan (salah saya) dan kini saya telah kehabisan ruang pemacu akaun perkhidmatan.
Saya telah mewakilkan kebenaran seluruh domain kepada akaun perkhidmatan, jadi fail baharu akan dimiliki oleh saya dan menggunakan kuota storan peribadi saya.
Lakukan ini: Wakilkan kebenaran seluruh domain kepada akaun perkhidmatan
Dan cara menggunakan kunci API untuk API Google Drive daripada PHP melalui google/apiclient
Untuk mengelakkan ralat dan kekeliruan pada masa hadapan, saya ingin menukar pemilik fail lama. Saya terus mendapat ralat ini:
{ "error": { "code": 400, "message": "Bad Request. User message: "You can't change the owner of this item."", "errors": [ { "message": "Bad Request. User message: "You can't change the owner of this item."", "domain": "global", "reason": "invalidSharingRequest" } ] } }
Ini adalah kod saya menggunakan klien PHP
$client = new Google_Client(); $client->setApplicationName('My Name'); $client->setScopes(Google_Service_Drive::DRIVE); $client->setAuthConfig($my_credentials); $client->setAccessType('offline'); //$client->setSubject('my_personal_account'); $service = new Google_Service_Drive($client); $newPermission = new Google_Service_Drive_Permission(); $newPermission->setEmailAddress('my_personal_account'); $newPermission->setType('user'); $newPermission->setRole('owner'); $service->permissions->create( $fileId, $newPermission, array("fields" => "id", "transferOwnership" => true) );
Saya mendapat ralat yang sama tidak kira sama ada saya menggunakan setSubject dalam klien atau tidak. Saya telah mencuba menggunakan
$newPermission->setRole('writer'); $newPermission->setPendingOwner(true);
Tetapi ia tidak berjaya.
Pemilikan fail hanya boleh dipindahkan antara akaun pada domain yang sama. Ralat ini berlaku kerana akaun perkhidmatan dan akaun anda bukan milik domain yang sama.
Jika anda mempunyai akses kepada drive kongsi dan dapat menambahkan pengguna dengan kebenaran untuk menambah fail, tambahkan akaun perkhidmatan dan biarkan ia mengalihkan fail ke drive kongsi.
Berkaitan
Lain-lain yang berkaitan