it-swarm.com.de

Zugriff auf die Google-Tabellenkalkulations-API ohne Authentifizierungstoken

Ich habe Google Spreadsheet erstellt und Bearbeitungszugriff für alle erteilt (kann auch ohne Login bearbeitet werden).

Hier ist der Link . Ich möchte dieses Datenblatt mit der Google Spreadsheet-API aktualisieren. Aber ich bekomme Fehler. Meine Anforderung ist, das Blatt über API auch ohne Zugangsberechtigung zu aktualisieren.

enter image description here

10
Nageswaran

Es ist möglich, ohne OAuth oder API Keys in die Kalkulationstabelle zu schreiben. Sie müssen Service Account Keys verwenden. 

Folgendes habe ich für meine Node.js-Umgebung getan. 

  1. Rufen Sie einen Dienstkontoschlüssel unter https://console.cloud.google.com/apis/credentials ab. (Sie können hier auch einschränken, was für diese Schlüssel zulässig ist.)
    1. Stellen Sie beim Erstellen sicher, dass Sie auf den Furnish a new private key klicken.
    2. Wählen Sie JSON, wenn Sie gefragt werden, wie der Schlüssel heruntergeladen werden soll.
  2. Der service account key, den Sie gerade generiert haben, enthält einen client_email.
    1. Gehen Sie zu Ihrer Google-Tabelle und geben Sie diesem client_email Schreibzugriff auf dieses Dokument
  3. Verwenden Sie den folgenden Code zur Authentifizierung

    let jwtClient = new google.auth.JWT(client_email, null, private_key, [ "https://www.googleapis.com/auth/spreadsheets", ]);//authenticate requestjwtClient.authorize(function(err, tokens) { // at this point the authentication is done you can now use `jwtClient` // to read or write to the spreadsheet});

client_email und private_key sind Bestandteil des service account key

Eine ausführlichere Beschreibung finden Sie hier. http://isd-soft.com/tech_blog/accessing-google-apis-using-service-account-node-js/ Außerdem geht alles Guthaben auf diese Seite. 

Sie müssen berechtigt sein, solche Anfragen zu stellen

Jede Anfrage, die Ihre Anwendung an das Google Sheets-API sendet, muss an .__ liegen. Identifizieren Sie Ihre Bewerbung bei Google. Es gibt zwei Möglichkeiten, .__ zu identifizieren. Ihre Anwendung: Verwenden Sie ein OAuth 2.0-Token (das auch die -Anforderung autorisiert) und/oder den API-Schlüssel der Anwendung. So geht's bestimmen, welche dieser Optionen verwendet werden soll:

Wenn für die Anforderung eine Autorisierung erforderlich ist (z. B. eine Anforderung für die privaten Daten einer Person), muss die Anwendung eine OAuth 2.0 Token mit der Anfrage. Die Anwendung kann auch den API-Schlüssel bereitstellen, muss dies jedoch nicht. Wenn die Anforderung nicht erforderlich ist Autorisierung (z. B. eine Anfrage nach öffentlichen Daten), dann die Die Anwendung muss entweder den API-Schlüssel oder ein OAuth 2.0-Token oder .__ bereitstellen. beide - welche Option für Sie am günstigsten ist.

Das ist es. Es gibt keine Umgehungsberechtigung.

3
noogui

Endlich tief genug gegraben und die Antwort gefunden. Für jede Art von Schreiben, auch für öffentlich bearbeitbare Blätter, ist ein OAuth-Ablauf erforderlich:

https://issuetracker.google.com/issues/36755576#comment3

0
Andrew