2017-04-25 16 views
1

Nach einiger Verwirrung zu bearbeiten, habe ich bekommen von einem öffentlichen Blatt Arbeits lesen:cURL Einträge auf Google Blätter Dokumente

curl https://sheets.googleapis.com/v4/spreadsheets/[sheetID]/values/A1?key=[MyAPIKey]

Wo Blatt ID ist von Google Tabellen und [MyAPIKey] von https://developers.google.com/sheets/api/guides/authorizing#APIKey

Es gibt mir Lesezugriff auf das Blatt.

Sobald ich versuche, in irgendwelche Zellen auf dem Blatt zu schreiben (obwohl sie öffentlich beschreibbar sind), gibt es mir einen Fehler. Ich kann sie ohne Schlüssel leicht anonym von meinem Browser bearbeiten, aber ich kann nicht scheinen, sie ohne API-Schlüssel überhaupt zu bearbeiten.

Wenn ich Ausgabe:

curl https://sheets.googleapis.com/v4/spreadsheets/[sheetid]/values/Sheet1\!A1?valueInputOption=RAW?key=[MyAPIKey] -X PUT -d "{\"values\":[ [ \"Test\" ] ] }" 

I erhalten: { "error": { "code": 401, "message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.", "status": "UNAUTHENTICATED" } }

Ich denke, dies zu Google Sheets API v4 append request receives HTTP 401 response for public feeds using API Key zusammenhängt

Ich bin der OAuth2 Mechanismus wie für diese Aufgabe zu vermeiden, kann ich‘ t erlauben Anwendungen den Zugriff auf das gesamte Google-Laufwerk. Wie kann dies mit selektivem Link-basierten Zugriff geschehen, wie dies über den Authkey-Ansatz geschieht? Gibt es eine andere Möglichkeit, in OAUTH2 Blattzugriffe zu erteilen?

Antwort

0

Nein, Sie können keine Blattoperationen mit CURL alleine durchführen. Error 401 bedeutet, dass Sie Zugriffstokens benötigen, um auf diesem Blatt zu arbeiten. Sie müssen also den OAuth-Flow verwenden, um diesen Fehler zu beheben und den Gültigkeitsbereich zu definieren.

Es gibt eine Reihe von Quickstarts unterhalb der Introduction to Sheets, die Sie verwenden können.

+0

Es ist eigentlich ziemlich einfach zu cURL, allein mit Google-Blättern mit dem OAuth-Zeug (lesen, schreiben, etc) zu verwenden. Ich habe aktiv versucht, einen anderen Weg zu finden, weil es nicht gut zu dem Modell der Operationen passt, mit denen ich versuche zu arbeiten. Ich denke, ich muss mich nur mit dem OAuth-Pfad befassen und neue Google Mail-Adressen für jede der Unteranwendungen erstellen und die Dokumente dann mit diesen Marionettenbenutzern teilen. –

Verwandte Themen