web-dev-qa-db-fra.com

La feuille de calcul api de Google avait des portées d'authentification insuffisantes

Je fais un script pour lire les données de la feuille de calcul Google en utilisant le script suivant sur nodejs:

var url = oauth2Client.generateAuthUrl({
    access_type:     'offline',
    approval_Prompt: 'force',
    scope: [
      'https://www.googleapis.com/auth/analytics.readonly',
      'https://www.googleapis.com/auth/drive',
      'https://www.googleapis.com/auth/spreadsheets'
    ]
});
global.googleapis = { expiry_date: 0 };
google.options({ auth: oauth2Client });
var sheets    = google.sheets('v4');
sheets.spreadsheets.get({ spreadsheetId: 'id'}, function(err, data) {
    res.send(err, data);
});

Mais à chaque requête get, j'obtiens cette erreur:

Request had insufficient authentication scopes.

J'ai vérifié la console de développement Google pour activer l'API Google Drive et son activation. Je ne sais donc pas vraiment ce que cela pourrait être.

15
jtomasrl
  1. Tout d’abord, supprimez les fichiers d’identifiants ~/.credentials/sheets.googleapis.com-nodejs-quickstart.json (selon votre configuration)

  2. Modifier la variable d’étendue utilisée pour lire les cellules à partir de Google Spreadsheets à partir de

var SCOPES = [' https://www.googleapis.com/auth/spreadsheets.readonly '];

à

var SCOPES = [' https://www.googleapis.com/auth/spreadsheets '];

  1. Après exécution du code, l'API s'authentifiera à nouveau et le problème sera résolu.
22
Long Nguyen

Les portées semblent bonnes. Peut-être devriez-vous essayer de supprimer les informations d'identification stockées précédemment dans /Users/yourUserName/.credentials/sheets.googleapis.com-projectName/*, puis exécuter à nouveau l'application pour obtenir de nouvelles informations d'identification.

18
Ken H

Tout d’abord, assurez-vous de activer également l’API Sheets dans votre console de développeur.

Le insufficient authentication scopes est une erreur dans le jeton OAuth 2.0 fourni dans la demande spécifie scopes qui sont insuffisants pour accéder aux données demandées.

Assurez-vous donc que vous utilisez la bonne et toute la portée nécessaire et vérifiez ceci Autoriser les demandes avec OAuth 2.0 / si vous suivez correctement les étapes décrites ici.

Enfin, essayez de révoquer l'accès et essayez de le refaire.

Pour plus d'informations, consultez la question SO correspondante:

4
KENdi

Le même problème s'est produit lorsque j'ai mis à jour l'étendue. Parallèlement à l'instruction, je supprime le fichier token.json du même répertoire que le script python.

0
王雅晶

Je cherchais depuis longtemps l'emplacement des identifiants. Beaucoup de forum ont mentionné que ce serait sous c:\utilisateurs\.credentials\google-api ****. Json Mais je ne pouvais les trouver nulle part. Ensuite, j'ai réalisé que mon programme avait créé un fichier token.pickle directement dans le répertoire programme .py , qui est essentiellement le fichier de données d'identification.

0
Ajayvignesh