Résoudre les problèmes d'authentification et d'autorisation

Cette page décrit certains problèmes courants que vous pouvez rencontrer concernant l'authentification et l'autorisation.

This app isn't verified

Si l'écran de consentement OAuth affiche l'avertissement "Cette application n'est pas validée", votre application demande des champs d'application donnant accès à des données utilisateur sensibles. Si votre application utilise des champs d'application sensibles, elle doit passer par le processus de validation pour supprimer cet avertissement et d'autres limites. Pendant la phase de développement, vous pouvez continuer au-delà de cet avertissement en sélectionnant Advanced > Go to {Project Name} (non sécurisé).

File not found error for credentials.json

Lors de l'exécution de l'exemple de code, vous pouvez recevoir le message d'erreur "file not found" (fichier introuvable) ou "no such file" (aucun fichier de ce type) concernant le fichier credentials.json.

Cette erreur se produit lorsque vous n'avez pas autorisé les identifiants de l'application de bureau. Pour savoir comment créer des identifiants pour une application de bureau, consultez la section Créer des identifiants.

Après avoir créé les identifiants, assurez-vous que le fichier JSON téléchargé est enregistré sous credentials.json. Déplacez ensuite le fichier dans votre répertoire de travail.

Token has been expired or revoked

Lors de l'exécution de l'exemple de code, vous pouvez recevoir le message d'erreur "Le jeton a expiré" ou "Le jeton a été révoqué".

Cette erreur se produit lorsqu'un jeton d'accès du serveur d'autorisation Google a expiré ou a été révoqué. Pour en savoir plus sur les causes potentielles et les solutions, consultez la section Expiration du jeton d'actualisation.

Erreurs Python

Voici quelques erreurs Python courantes.

AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

Cette erreur peut se produire sous Mac OSX, où l'installation par défaut du module six (dépendance de la bibliothèque Python) est chargée avant celle du module installé par pip. Pour résoudre le problème, ajoutez l'emplacement d'installation de pip à la variable d'environnement système PYTHONPATH:

  1. Déterminez l'emplacement d'installation de pip:

    pip show six | grep "Location:" | cut -d " " -f2
    

    Notez cet emplacement, car vous en aurez besoin à l'étape suivante.

  2. Ajoutez la ligne suivante à votre fichier ~/.bashrc, en remplaçant INSTALL_PATH par l'emplacement déterminé à l'étape précédente:

    export PYTHONPATH=$PYTHONPATH:INSTALL_PATH
    
  3. Actualisez votre fichier ~/.bashrc:

    source ~/.bashrc
    

TypeError: sequence item 0: expected str instance, bytes found

Cette erreur est due à un bug dans httplib2. Pour résoudre ce problème, installez la dernière version de httplib2:

pip install --upgrade httplib2

Cannot uninstall 'six'

Lorsque vous exécutez la commande pip install, vous pouvez recevoir l'erreur suivante:

Cannot uninstall 'six'. It is a distutils installed project and thus we
cannot accurately determine which files belong to it which would lead to
only a partial uninstall.

Cette erreur se produit sous Mac OSX lorsque pip tente de mettre à niveau le package six préinstallé. Pour contourner ce problème, ajoutez l'option --ignore-installed six à la commande pip install.