Google Sheets API の Spreadsheets.values.update ( https://developers.google.com/sheets/reference/rest/v4/spreadsheets.values/update ) メソッドを使用してデータをスプレッドシートに挿入しようとしています。
スコープが正しく設定されたアクセス トークンを取得済みで、cURL 経由で PUT リクエストを送信しようとしています。私は PHP curl ラッパー ( https://github.com/php-curl-class/php-curl-class ) を使用していますが、プレーンな PHP も素晴らしいでしょう。
これが私がこれまでに持っているものです:
$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);
}
cURL リクエストは正常に実行され、次のものが返されます。
{"spreadsheetId":"11I1xNv8cHzBGE7uuZtB9fQzbgrz4z7lIaEADfta60nc","updatedRange":"Sheet1!A1"}
ただし、シート内のデータは更新されません。
私が間違っていることを誰かが知っていますか?よろしくお願いします。