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 niveaux d'accès qui donnent accès aux données utilisateur sensibles. Si votre application utilise des champs d'application sensibles, elle doit suivre le processus de validation pour supprimer cet avertissement et les autres limitations. Pendant la phase de développement, vous pouvez passer au-delà de cet avertissement en sélectionnant Avancé > Accéder à {Nom du projet} (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 "fichier introuvable" ou "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 page 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-le ensuite 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 Actualiser l'expiration du jeton.

Erreurs Python

Voici quelques erreurs Python courantes.

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

Cette erreur peut se produire dans Mac OSX où l'installation par défaut du module six (une dépendance de la bibliothèque Python) est chargée avant celle installée 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.