Я пытаюсь прочитать данные из Google Spreadsheet, используя PHP Google Spreadsheet Client (https://github.com/asimlqt/php-google-spreadsheet-client). После долгих причесок у меня работает auth; Я могу добавить строки в электронную таблицу; используя CellFeed, я могу правильно извлекать данные отдельных ячеек … но тот, что ускользает от меня, использует ListFeed для извлечения данных из строк.
Похоже, что он работает, но это только получение данных из первого ряда. Экспорт результата с помощью print_r показывает, что он вытягивает все строки, но не разбивает данные на массив. Я нашел источник информации для клиента и не вижу в этом ничего плохого. Вздох.
Я пробовал это на разных листах в одной и той же электронной таблице, а также на другой электронной таблице, просто чтобы убедиться, что данные не мешают нормальной работе.
Вот что у меня есть:
$serviceRequest = new Google\Spreadsheet\DefaultServiceRequest($accessToken);
Google\Spreadsheet\ServiceRequestFactory::setInstance($serviceRequest);
$spreadsheetService = new Google\Spreadsheet\SpreadsheetService();
$spreadsheetFeed = $spreadsheetService->getSpreadsheets();
$spreadsheet = $spreadsheetFeed->getByTitle('Prime Pubs Test Datasheet');
$worksheetFeed = $spreadsheet->getWorksheets();
$worksheet = $worksheetFeed->getByTitle('Configuration');
$listFeed = $worksheet->getListFeed();
foreach ( $listFeed->getEntries() as $entry ) {
print_r($entry->getValues());
}
Как я уже сказал, он выгрузит первый ряд, но больше ничего.
Вот фрагмент рабочего листа … ничего необычного: http://imgur.com/AIax8tf
Благодарю.
… Да уж. Видимо, ему не нравятся пустые строки в электронной таблице. Он думает, что лист готов после этого, поэтому он не обрабатывает дальше.
Других решений пока нет …