2016-07-22 9 views
7

ich ein Skript macht Daten aus Google-Tabelle mit dem folgenden Skript auf NodeJS zu lesen:Google-Tabelle api Anfrage hatte unzureichende Authentifizierung Tive

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); 
}); 

Aber auf jede Anfrage bekommen, ich bin diesen Fehler:

Ich habe die Google-Entwicklerkonsole überprüft, um die Google Drive-API zu aktivieren, und es ist aktiviert, so dass ich nicht wirklich weiß, was es sein könnte.

Antwort

4

Zuerst stellen Sie sicher, dass Sie auch aktivieren Sie die Sheets API in Ihrer Entwicklerkonsole.

Die insufficient authentication scopes ist ein Fehler in dem OAuth 2.0-Token, das in der Anforderung angegeben wird scopes angibt, die für den Zugriff auf die angeforderten Daten nicht ausreichen.

So stellen Sie sicher, dass Sie den richtigen und allen notwendigen Umfang verwenden und überprüfen Sie diese Authorizing requests with OAuth 2.0, wenn Sie die Schritte hier richtig befolgen.

Schließlich, versuchen Sie, den Zugriff zu widerrufen und versuchen Sie es zu wiederholen.

Für weitere Informationen, lesen Sie in diesem Zusammenhang SO Frage:

15

Die Bereiche gut aussehen, vielleicht sollten Sie versuchen, die Anmeldeinformationen zuvor gespeicherten zu entfernen in /Users/yourUserName/.credentials/sheets.googleapis.com-projectName/*, und führen Sie die Anwendung erneut aus, um neue Anmeldeinformationen zu erhalten.

+1

diese lösung funktioniert! –

1
  1. Zum einen die Anmeldeinformationen löschen Dateien ~/.credentials/sheets.googleapis.com-NodeJS-quickstart.json (je nach Einstellung)

  2. Ändern Sie den Gültigkeitsbereich von Variablen verwendet, um Zellen von Google Text & Tabellen zu lesen von

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

zu

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

  1. Nach Ausführung des Codes wird die API erneut authentifiziert und der Fehler wird behoben.