Accéder à une feuille de calcul Google Drive à partir de Appengine
J'ai un appengine application qui a besoin d'accéder à un seul, codée en dur feuille de calcul sur Google Drive.
Jusqu'à maintenant, j'ai été atteinte de ce comme suit:
SpreadsheetService service = new SpreadsheetService("myapp");
service.setUserCredentials("[email protected]", "myhardcodedpassword");
Quand je l'ai essayé aujourd'hui avec un nouvel utilisateur, j'ai eu InvalidCredentialsException
même si le nom d'utilisateur et le mot de passe sont certainement correctes. J'ai reçu un mail dans ma boîte de réception en disant soupçons signe-ins ont été évités, et il semble y avoir aucun moyen de les réactiver.
Je suis aussi conscient que coder en dur les mots de passe dans la source est une mauvaise pratique.
Cependant, j'ai lu très largement en ligne pour savoir comment activer le protocole OAuth/OAuth2 pour cela, et ont fini par perdre des heures et des heures à assembler des fragments d'information à partir de blogs, stackoverflow réponses etc, en vain.
Idéalement, il s'agirait d'un processus initial de générer une longue durée de vie jeton d'accès, qui pourrait alors être codé en dur dans l'application.
Je veux une liste définitive des étapes pour y parvenir?
Je ne comprendre. Cependant comment coder un serveur pour récupérer un particulier de calcul google est loin d'être clair, en fait je ne suis pas convaincu qu'il est encore possible de le faire avec OAuth. Tout ce que je peux trouver lors de la recherche autour de beaucoup d'autres perplexe devs.
hmm, il semble que vous ne comprenez pas de commentaire.
Heh, rendez-vous et prélassez-vous dans votre évidente supériorité.
Ce n'est pas le point. Le problème, c'est que vous prétendez comprendre quand son évident que vous ne. Si vous l'avez fait, vous ne devriez pas demander de base tels auestion et sans aucun code qui indique l'emplacement de votre problème peut être.
OriginalL'auteur funkybro | 2014-04-04
Vous devez vous connecter pour publier un commentaire.
EDIT: Comme Google ont repensé l'API Console, les détails de la procédure ci-dessous ont changé - voir les commentaires
OK, voici, étape par étape
Le jeton d'actualisation est l'équivalent de votre longue durée de vie nom d'utilisateur/mot de passe, c'est ce que vous allez coder en dur (ou les stocker dans un endroit sécurisé, votre application peut récupérer).
Quand vous en avez besoin pour accéder à Google feuilles de calcul, vous allez appeler
qui vous permettra de revenir un jeton d'accès
Mettre le jeton d'accès dans un en-tête http pour chaque fois que vous accédez à la feuille de calcul de l'API
Et vous avez terminé
Je suppose que vous avez pour obtenir l'ID du client et Dans le Secret Oauth partie de la credentails onglet. Mais Un Client secret ne semble pas être donné.
Vous devez choisir l'option "CRÉER un NOUVEAU CLIENT ID" -> "application Web"
Google a revu sa console du nuage de l'INTERFACE utilisateur encore une fois. Après la création de votre projet, allez à "directeur de l'API", sélectionnez "Lecteur de API", cliquez sur "Activer". Choisissez "informations d'Identification" sur le côté gauche, choisissez "OAuth consentement de l'écran" de l'onglet, entrez un nom de produit et cliquez sur Enregistrer. Choisissez "informations d'Identification" de l'onglet "Créer des informations d'identification" -> "client OAuth ID". Dans "type de Demande", choisissez "application Web". Ensuite, choisissez "Créer".
OriginalL'auteur pinoyyid
Pinoyyid a en effet fourni une aide. Je voulais faire un suivi avec un code Python qui permettra l'accès à un Personnel (accessible sur le web) Google Drive.
Cela fonctionne très bien dans le Google App Engine (dans le cadre d'une application web) et aussi autonome sur le bureau (en supposant que le Google App Engine SDK est installé sur votre machine [disponible à partir de: https://developers.google.com/appengine/downloads%5D).
Dans mon cas, j'ai ajouté https://www.googleapis.com/auth/drive périmètre au cours de Pinyyid du processus, parce que je voulais l'accès à tous mes fichiers Google Drive.
Après Pinoyyid les instructions pour obtenir votre jeton d'actualisation, etc., ce petit script Python obtiendrez une liste de tous les fichiers sur votre Google drive:
Je suis reconnaissant à tous ceux qui ont fourni les étapes le long du chemin pour résoudre cette.
OriginalL'auteur Eric Woudenberg