Ich habe eine App, die mir erlauben, die Daten aus Google Spreadsheet mit API Key zu lesen. Ich mache nur HTTP GET zu dieser Adresse und bekomme eine Antwort mit Daten.Schreiben Sie Daten in Google Spreadsheet mit API Key (C#)
https://sheets.googleapis.com/v4/spreadsheets/18soCZy9H4ZGuu**********BeHlNY1lD8at-Pbjmf8c/values/Sheet1!A1?key=AIzaSyAYJ***********pB-4iKZjYf4y0vhXP8OM
Aber wenn ich versuche, dies ebenfalls zu tun Daten PUT
https://sheets.googleapis.com/v4/spreadsheets/18soCZy9H4ZGuu**********BeHlNY1lD8at-Pbjmf8c/values/Sheet1!A4?valueInputOption=RAW?key=AIzaSyAYJ***********pB-4iKZjYf4y0vhXP8OM
sein gibt mir 401-Fehler zu adressieren über HTTP zu schreiben. Code PUT-Anfrage zu machen:
using (WebClient wc = new WebClient())
{
byte[] res = wc.UploadData(link, "PUT", Encoding.ASCII.GetBytes(textBox1.Text));
MessageBox.Show(Encoding.Default.GetString(res));
}
Auch Tabelle ist mit Erlaubnis vollständig öffentlich zu lesen und von jedermann ohne Auth zu schreiben. Meine Vermutung ist, dass ich API-Schlüssel nicht verwenden kann, um Daten in eine Tabelle zu schreiben, und nur dazu wird OAuth verwendet.
UPDATE: Also habe ich nur Google.Apis.Sheets.v4 tryed Werte zu schreiben, und jetzt bin ich fast 100% sicher, dass API-Schlüssel kann nicht zum Schreiben von Daten auf Google-Tabelle verwendet werden. Nun, dann benutze ich OAuth 2.0.
Sieht aus wie dieses Problem https://issuetracker.google.com/issues/36755576 deckt diesen Fehler ab, obwohl es seit April nicht aktualisiert worden zu sein scheint. Könnte es wert sein, es zu spielen, damit sie wissen, wie sehr es die Leute beeinflusst.Ich denke, ich werde auch auf OAuth 2.0 umsteigen müssen. – user3432422