Curl PHP Api V4 Google Таблицы - PullRequest
1 голос
/ 29 мая 2020

с помощью следующего кода я вызываю API v4 для печати значений электронной таблицы. Все идет очень хорошо.

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"https://sheets.googleapis.com/v4/spreadsheets/
spreadsheetID/values/PHP?valueRenderOption=UNFORMATTED_VALUE&key=yourKeyId");
$result = curl_exec ($curl);
curl_close ($curl);

Чего я не могу достичь, так это вставить или обновить его, мне не удается собрать для этого PHP завиток. Немного помощи? Попробуйте, как показано ниже, но это не сработает.

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL,"https://sheets.googleapis.com/v4/spreadsheets/
spreadsheetID/append/PHP?InsertDataOption=INSERT_ROWS&key=yourKeyId");
$jvalues=array(array("5869","35685987","Ema","2020-05-29","no brinda","3563430423"));

$jsonData = array(
'values' => $jvalues
 );

$jsonDataEncoded = json_encode($jsonData);

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$result = curl_exec ($curl);
curl_close ($curl);

изображение для ошибки

Некоторая помощь, я нигде не нашел примеров. Спасибо.

1 Ответ

0 голосов
/ 29 мая 2020

К сожалению, ключ API нельзя использовать для методов POST, в то время как его можно использовать для метода GET. Таким образом, для помещения значений в электронную таблицу Google необходимо использовать токен доступа, полученный OAuth2 и / или учетной записью службы. Кстати, когда таблица Google не принадлежит вам или у вас нет разрешения на запись, даже если используется токен доступа, значения не могут быть использованы.

Ссылки:

Листы Запросы на авторизацию

OAuth2

...