Ich versuche, die Tabellenkalkulation.values.update Methode (https://developers.google.com/sheets/reference/rest/v4/spreadsheets.values/update) der Google Tabellen-API zu verwenden, um Daten in eine Tabelle einzufügen.Einstellung PUT Anfragekörper mit PHP
Ich habe bereits ein Access-Token mit korrektem Umfang erworben, und jetzt versuche ich, eine PUT-Anfrage über cURL zu senden. Ich benutze den PHP curl wrapper (https://github.com/php-curl-class/php-curl-class), aber einfaches PHP wäre auch großartig.
Hier ist, was ich bisher:
$curl = new Curl();
$curl->setHeader("Authorization","Bearer ".json_decode($a4e->user->google_token)->access_token);
$curl->setOpt(CURLOPT_POSTFIELDS, '{"values": [["Elizabeth", "2", "0.5", "60"]]}');
$curl->put('https://sheets.googleapis.com/v4/spreadsheets/11I1xNv8cHzBGE7uuZtB9fQzbgrz4z7lIaEADfta60nc/values/Sheet1!A1', array(
'valueInputOption' => 'USER_ENTERED'
));
if ($curl->error) {
echo 'Error: ' . $curl->errorCode . ': ' . $curl->errorMessage;
}
else {
echo json_encode($curl->response);
}
Die cURL Anfrage erfolgreich ausgeführt und gibt die folgende:
{ "spreadsheetId": "11I1xNv8cHzBGE7uuZtB9fQzbgrz4z7lIaEADfta60nc", "updatedRange": "Sheet1 ! A1 "}
Die Daten im Blatt werden jedoch nicht aktualisiert.
Weiß jemand, was ich falsch mache? Vielen Dank im Voraus.
Hallo, vielen Dank für den Kommentar. Ja, die Authentifizierung ist erfolgreich und ich kann Daten problemlos aus derselben Tabelle lesen. Die Migrationsdokumente hier (https://developers.google.com/sheets/guides/migration#add_a_new_row_of_data) sagen: "Der angegebene Bereich muss sich nur auf die erste Zelle in der Zeile beziehen. Die API leitet die zu aktualisierenden Zellen basierend auf den Werten weiter mit der Anfrage versehen."Also ich denke nicht, dass das ein Problem sein sollte. – praine