J'utilise un compte de service pour télécharger des fichiers dans un dossier partagé dans Google Drive.
Après un certain temps, j'ai découvert que les fichiers appartenant au compte de service consommaient l'espace de stockage sur disque du compte de service (ma faute) et maintenant je n'ai plus d'espace disque sur le compte de service.
J'ai délégué des autorisations à l'échelle du domaine au compte de service, donc les nouveaux fichiers m'appartiendront et utiliseront mon quota de stockage personnel.
Faites ceci : déléguez les autorisations à l'échelle du domaine à un compte de service
Et comment utiliser la clé API pour l'API Google Drive depuis PHP via google/apiclient
Pour éviter de futures erreurs et confusions, je souhaite changer le propriétaire de l'ancien fichier. J'obtiens toujours cette erreur :
{ "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" } ] } }
Voici mon code utilisant le client 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) );
J'obtiens la même erreur, que j'utilise ou non setSubject dans le client. J'ai essayé d'utiliser
$newPermission->setRole('writer'); $newPermission->setPendingOwner(true);
Mais ça n’a pas fonctionné.
La propriété des fichiers ne peut être transférée qu'entre comptes du même domaine. Cette erreur se produit car le compte de service et votre compte n'appartiennent pas au même domaine.
Si vous avez accès au lecteur partagé et pouvez ajouter un utilisateur autorisé à ajouter des fichiers, ajoutez un compte de service et laissez-le déplacer les fichiers vers le lecteur partagé.
Connexe
Autres liés