web-dev-qa-db-fra.com

API Google Drive, Oauth et compte de service

J'ai des problèmes avec l'API Google Drive, le compte de service et l'authentification. J'ai beaucoup lu, mais je ne sais pas comment résoudre ce problème.

Contexte: J'ai des fichiers sur mon compte Drive (environ 35 Go) et une simple application Web qui permet aux utilisateurs de se connecter, de voir certains dossiers/fichiers sélectionnés sur mon Drive et de les télécharger si nécessaire. Le seul qui peut accéder directement à mon compte Drive est (ou devrait être) mon serveur, les utilisateurs font leur travail via l'application/le serveur Web.

Après quelques recherches, j'ai trouvé documents d'autorisation de serveur à serveur qui devrait être parfait pour mon but MAIS, comme je peux le voir, le compte de service ne partage pas le même espace Drive: ils ont le leur et il n'est pas évolutif . En raison de cette limite (étrange), je ne peux pas utiliser le compte de service car j'ai plus de 35 Go et je dois tout "partager".

Autre moyen: utilisez "standard" OAuth afin d'obtenir un jeton d'accès puis utilisez-le pour appeler l'API Drive, mais les jetons d'accès ont une date d'expiration et je ne peux pas le mettre à jour manuellement à chaque fois.

Donc, première question: existe-t-il un moyen d'augmenter le quota pour le compte de service? Sinon, existe-t-il un moyen d'utiliser mon compte "normal" (propriétaire) agissant comme un compte de service?

Deuxième question (factice): j'ai lu des documents sur création de nouvelles informations d'identification OAuth et à la fin, vous obtenez un exemple de code et un JSON "client-secret". J'exécute le exemple mais je n'ai pas compris quel est le rôle de ce fichier JSON: je dois me connecter et donner une autorisation de toute façon, pourquoi en ai-je besoin?

Troisième question (assez factice): si OAuth est la seule solution, existe-t-il un moyen d'obtenir/actualiser les jetons d'accès sans le faire manuellement à chaque fois? J'ai regardé OAuth docs et "interaction/confirmation utilisateur" est l'une des choses de base dans le flux d'authentification, donc je ne pense pas que ce soit possible.

17
user6208310

Partagez le dossier de votre compte Drive avec votre compte de service.
L'adresse de votre compte de service ressemble à [email protected].
Ensuite, votre compte de service peut voir le dossier partagé de votre compte Drive.
Vous disposez donc d'un compte de service de 35 Go.

39
drinkmystery