Помогите понять API

D
На сайте с 28.06.2008
Offline
1108
494

Не понимаю метод в АПИ гугла https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/get

Вроде указано, что можно передать 2 необязательных параметра   ranges[]  и  includeGridData, там же на странице справа пробую и получаю нужные мне данные

Далее пробую получить тоже самое из скрипта

$spreadsheet = $service->spreadsheets->get($spreadsheetId, ["Holdem!D4:H23"], ['includeGridData' => true]);
$sheet = $spreadsheet->getSheets();
file_put_contents('/var/www/html/text.txt', print_r($sheet, true));

Данные получаю но нужных мне нет. 

Если убрать ["Holdem!D4:H23"] то скрипту не хватит памяти, там оведофига в таблицу напихали, но раньше когда данных было меньше без ["Holdem!D4:H23"] я нужные данные получал.

Нужные данные кстати это примечания к ячейкам нужного диапазона.

Либо второй вариант - вот прям то что мне нужно, но для JS и мне не хватит опыта конвертировать это в ПХП

https://qna.habr.com/q/968041

Method: spreadsheets.get  |  Sheets API  |  Google Developers
Method: spreadsheets.get  |  Sheets API  |  Google Developers
  • developers.google.com
Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids will not be returned. You can include grid data one of two ways: For large spreadsheets, it is recommended to retrieve only the specific fields of the spreadsheet...
tommy-gung
На сайте с 22.11.2006
Offline
300
#1
ты же в консоли можешь посмотреть запрос, который отправляется, и повторить
Здесь не могла быть ваша реклама
tommy-gung
На сайте с 22.11.2006
Offline
300
#2
Dram :
$spreadsheet = $service->spreadsheets->get($spreadsheetId, ["Holdem!D4:H23"], ['includeGridData' => true]);

ну и где тут видно ranges ?

и еще на заметку, гугл своеобразно обрабатывает [] в GET

D
На сайте с 28.06.2008
Offline
1108
#3
tommy-gung #:
ты же в консоли можешь посмотреть запрос, который отправляется, и повторить

Я так и сделал в итоге через курл, то там потом всплыло что какой-то ключ в запросе живет всего 15 минут. В итоге заставил клиента отказаться от этих комментариев к ячейкам и вынести нужные данные обычной записью в другие ячейки и уже оттуда их забираю

W1
На сайте с 22.01.2021
Offline
306
#4

Dram, вот на это всё же обратите внимание:

tommy-gung #:
ну и где тут видно ranges ?
Мой форум - https://webinfo.guru –Там я всегда на связи
D
На сайте с 28.06.2008
Offline
1108
#5
webinfo #:

Dram, вот на это всё же обратите внимание:

НО вот же Ренжес, что не так? 

["Holdem!D4:H23"]
W1
На сайте с 22.01.2021
Offline
306
#6
Dram #:
НО вот же Ренжес, что не так? 

Не так то, что нет названия параметра. Я не знаю, какие аргументы принимает метод get в этом самом spreadsheets, но судя по аргументу 

 ['includeGridData' => true]

это должен быть массив с именами параметров в качестве ключей и со значениями параметров в качестве значений массива. То есть исходя из того, что написано у Вас, как минимум должно быть выражение 

$spreadsheet = $service->spreadsheets->get($spreadsheetId, ['ranges'=>["Holdem!D4:H23"]], ['includeGridData' => true]);

а по-хорошему метод get вообще должен быть универсальным и его вызов должен был бы в этом случае выглядеть так:

$spreadsheet = $service->spreadsheets->get($spreadsheetId, ['ranges'=>["Holdem!D4:H23"], 'includeGridData' => true]);

Но это так, общие соображения по поводу, я не вникал в API гугла, но по уму должно быть так.

D
На сайте с 28.06.2008
Offline
1108
#7
webinfo #:

Не так то, что нет названия параметра. 

А понял о чем вы, буду иметь в виду в следующий раз.  Скорее всего конечно я такой говнокодер, но АПИ гуглтаблиц (и весь сервис АПИ) такое впечатление что писали индусы с недельного запоя. Там же без бутылки вообще не разобраться!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий