2013-01-21 1 views
1

J'ai une application où les utilisateurs de mon application peuvent télécharger/télécharger des fichiers, je ne veux pas qu'ils autorisent chaque fois qu'ils veulent télécharger un fichier. J'ai donc appris que le compte de service est la solution, et c'est exactement ce que je cherchais. J'ai suivi les instructions données dans cette page:Comptes de service Google Drive Stockage supplémentaire

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

Tout fonctionne bien, mais le problème est la limite, à savoir que 5GB, est-il pas de façon où je peux acheter Additonal stockage pour mon compte de service (il est mentionné que cela ne peut pas être fait, mais je veux juste confirmer). Je ne veux pas utiliser le flux du serveur Web, où j'enregistrer les informations d'identification i.e Accéder au jeton et actualiser le jeton chaque fois qu'il expire. Y a-t-il une solution à mon problème?

Répondre

0

Jetez un oeil à:

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

comptes de service ne peut pas acheter un stockage supplémentaire de sorte que vous aurez besoin d'utiliser un compte Google régulier à la place.

+0

Mais pour un compte régulier, les clients devraient être autorisés à télécharger des fichiers correctement? Où les fichiers seront stockés dans ce cas? Dans mon compte ou les utilisateurs? –

1

Une solution pour stocker des fichiers dans votre propre compte google drive plutôt que google drive du compte de service est d'accorder l'autorisation du propriétaire à votre compte de service dans votre console de google developer.

Ensuite, créez un dossier à l'intérieur de votre disque google personnel et obtenez l'ID de ce dossier.

et lorsque vous téléchargez le fichier en utilisant le compte de service assurez-vous de mettre id de ce dossier comme ID parent pour le fichier que vous téléchargez comme ce

$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('[email protected]'); 
$drive_service->permissions->insert($requestss->getId(), $permission); 

Maintenant, vous serez en mesure de télécharger des fichiers sur votre Google conduire au lieu du service compte lecteur

Hope this helps

0

Partager le dossier de votre compte normal à votre compte de service.
Les adresses de votre compte de service ressemblent à [email protected]
Ensuite, votre compte de service peut voir le dossier partagé de votre compte normal.
Maintenant, votre compte de service obtient le stockage supplémentaire de votre compte normal.

Questions connexes