2017-06-25 15 views
2

Ich versuche Beispiel zu verwenden "Lesen Sie mehrere Bereiche":Google Blatt API v4

https://sheets.googleapis.com/v4/spreadsheets/ {SpreadsheetID}/Werte: batchGet Bereiche = Sheet1 B: B & Bereiche = Sheet1 D: D & valueRenderOption ? = UNFORMATTED_VALUES majorDimension = SPALTEN

aus: Google Sheets API v4 example I ersetzt "spreadsheetId" mit meiner Tabelle id. Aber wenn ich GET-Anfrage (von Postman) sende I erhalten:

{ 
    "error": { 
    "code": 403, 
    "message": "The request is missing a valid API key.", 
    "status": "PERMISSION_DENIED" 
    } 
} 

als früher https://developers.google.com/oauthplayground/ I Zulassung für Tabellenkalkulations API v4 mit meiner E-Mail gemacht und am Ende erzeugen ich eine lange Verbindung mit Schlüsseln und sah richtig Antwort mit Inhalt meiner Datentabelle.

Meine Frage ist nächste: Warum ist es unmöglich, das Beispiel von Google API (https://developers.google.com/sheets/api/samples/reading) zu verwenden, ersetzen Sie nur die Tabellenkalkulations-ID. Ps. Link zu meiner Tabelle ist öffentlich, Meine Tabelle ist öffentlich und im JSON-Format verfügbar und was ist die korrekte Verwendung der URL für Google Spreadsheet API v4, um BatchGet mit mehreren Anfragen zu senden?

Pss verwende ich einen anderen Ansatz und es funktioniert, aber warum erster Ansatz (v4) funktioniert nicht:

https://spreadsheets.google.com/feeds/list/{SpreadsheetID}/od6/public/values?alt=json 

Als ich versuchte, 2 APIs in einem Antrag zu kombinieren und zu empfangen und Fehler „Uneinheitliche Wiederholung Abfrage Parameterbereiche“:

https://spreadsheets.google.com/feeds/list/{SpreadsheetID}/od6/public/values:batchGet?ranges=Sheet1!B:B&ranges=Sheet1!D:D&valueRenderOption=UNFORMATTED_VALUES?majorDimension=COLUMNS 

======================================
Bearbeitet:

SpreadSheetID: 1KBk1J7TJCwnayMnTbaysqvFk98kVDdxXWNw2JYc3bW0

Erhältlich im Inkognito-Modus: Spreadsheet

im JSON-Format: JSON

Referenz: Google Sheets API v4: Read multiple ranges

Das gleiche Beispiel mit SpreadSheetID: ERROR 403

+0

ist ein Link zum Beispiel: [Datentabelle] (https://docs.google.com/spreadsheets/d/1KBk1J7TJCwnayMnTbaysqvFk98kVDdxXWNw2JYc3bW0/pubhtml) Die gleiche Tabelle in JSON: [json] (https: //spreadsheets.google.com/feeds/list/1KBk1J7TJCwnayMnTbaysqvFk98kVDdxXWNw2JYc3bW0/od6/public/values?alt=json) API v4: [Fehler 403] (https://sheets.googleapis.com/v4/spreadsheets/1KBk1J7TJCwnayMnTbaysqvFk98kVDdxXWNw2JYc3bW0/Werte: BatchGet? Bereiche =% 27Cost% 20Data% 27! B: B & Bereiche =% 27Cost% 20Data% 27! D: F & valueRenderOption = UNFORMATTED_VALUES? majorDimension = SPALTEN) –

Antwort

2

Ich glaube, Sie fehlen API in der URL. Dies ist von Google Tabellenkalkulationsprogramm api doc.

einen API-Schlüssel erwerben:

Öffnen Sie die Seite Anmeldeinformationen in der API-Konsole.

API-Schlüssel: Eine Anforderung, die kein OAuth 2.0-Token bereitstellt, muss einen API-Schlüssel senden. Der Schlüssel identifiziert Ihr Projekt und bietet API-Zugriff, Kontingent und Berichte.

Die API unterstützt verschiedene Arten von Einschränkungen für API-Schlüssel.Wenn der von Ihnen benötigte API-Schlüssel nicht bereits vorhanden ist, erstellen Sie einen API-Schlüssel in der Konsole , indem Sie auf Create credentials> API key klicken. Sie können den Schlüssel einschränken, bevor Sie ihn in der Produktion verwenden, indem Sie auf Schlüssel einschränken klicken und eine der Einschränkungen auswählen. Um die Sicherheit Ihrer API-Schlüssel zu gewährleisten, befolgen Sie die Best Practices für die sichere Verwendung von API-Schlüsseln .

Nachdem Sie einen API-Schlüssel haben, kann Ihre Anwendung die Abfrage Parameter key = yourAPIKey an alle Anfrage-URLs anhängen.

Der API-Schlüssel ist sicher für die Einbettung in URLs; es benötigt keine Codierung .

Google Spreadsheet Docs

+1

- Ich habe es gelesen. - Warum muss ich OAuth 2.0 verwenden, wenn meine Tabelle im Inkognitomodus in einem Browser sichtbar ist? - auch die Tabelle mit dieser URL zur Verfügung: https://spreadsheets.google.com/feeds/list/{SpreadsheetID}/od6/public/values?alt=json - Warum Google-API-Referenz (Beispiel) hat irreführende Beispiele? - Das Hauptproblem für mich: den Befehl "batchGet" zu verwenden. –

1

Neben @ skamble89 Antwort, diese 403 Fehler wird in der Regel durch eine falsche verursacht oder eine Konfiguration verpasst Anfragen in Autorisieren. Wenn Sie authorizing requests with OAuth 2.0 sind, stellen Sie sicher, dass Sie den richtigen Bereich damit verwenden.

Stellen Sie sicher, dass Sie berechtigt sind, diese Tabelle aufzurufen, und aktivieren Sie die Google Tabellen-API in Ihrer Entwicklerkonsole. Diese

Verwandte Themen