Как получить доступ к API таблиц Google в PHP?

Начав с документации по Google Spreadsheets API разработчика Google, я обнаружил, что «Ряд клиентских библиотек представлены на разных языках », но Google предоставляет клиентские библиотеки только для Java и .NET. Для библиотеки PHP они рекомендуют использовать Zend GData. Итак, я просмотрел репозиторий Zend GData, и Zend сообщает, что их компонент GData больше не поддерживается, и используйте клиентскую библиотеку API Google для PHP. Эта библиотека не работает с API электронных таблиц, для этого вам нужно вернуться на исходную страницу, с которой я начал.

Итак, похоже, что все перекладывают ответственность. Мне просто нужно написать код PHP, который запрашивает и обрабатывает данные из электронной таблицы Google. Как я могу это сделать? Пожалуйста, не связывайте меня с похожими сообщениями или страницами, не проверив, что они на 100% актуальны. Я часами просматривал огромное количество сообщений, которые полны устаревших и устаревших зависимостей.


person Jo Sprague    schedule 05.12.2013    source источник
comment
Многие люди хотят использовать Zend: stackoverflow.com/search?q=zend+spreadsheet Не уверен, какая версия . Я использую Java, но у меня примерно такая же проблема. Я пришел к следующему выводу: версия 3.0 API более или менее совпадает с API GData. Что касается большинства вещей, я использую документацию GData.   -  person eddyparkinson    schedule 08.12.2013
comment
Иосия, ты нашел выход? Я только начинаю с той же "проблемы"   -  person Jorge    schedule 09.03.2014
comment
@jasa В итоге я использовал tabletop.js с некоторыми резервными ссылками на саму электронную таблицу Google для всех, у кого может быть отключен или заблокирован JS. Очень легко настроить и отлично работает. github.com/jsoma/tabletop   -  person Jo Sprague    schedule 09.03.2014
comment
@Josiah Sprague: Отлично. Большое спасибо!   -  person Jorge    schedule 10.03.2014
comment
farinspace.com/saving-form-data-to-google-spreadsheets довольно простая реализация, которая сработала для меня.   -  person Alon Carmel    schedule 02.04.2014


Ответы (3)


Вы можете использовать PHP клиентскую библиотеку электронных таблиц Google.

Вам также необходимо использовать клиентскую библиотеку API Google для PHP, а также для аутентификации через OAuth2. Документация для разработчиков находится на странице github.

person aman    schedule 06.05.2014
comment
Привет, как я могу вставлять строки с помощью OAuth2? Любая идея? - person Subhra; 29.03.2015
comment
@Subhra, вы должны задать это как отдельный вопрос, а не как комментарий к ответу. - person kguest; 27.04.2015
comment
В этом руководстве используются библиотеки из ответа , и выглядит довольно солидно. Он использует Composer для ссылки на библиотеку asimlqt / php-google-spreadsheet-client. . - person alttag; 21.12.2018

Спасибо за подсказки и ссылки на этой странице, я хотел поделиться тем, что я сделал, чтобы прочитать электронную таблицу Google на php. Вы можете получить доступ к электронной таблице в формате json, и вам не нужно использовать api, zend framework или библиотеку gdata. PhP может очень легко обрабатывать json, и это было самое удобное решение, до которого я мог добраться, потому что он не зависит от каких-либо сторонних библиотек.

Вот пример ссылки для получения электронной таблицы в формате json.

https://spreadsheets.google.com/feeds/list/key/1/public/full?alt=json

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

Также вы можете получить доступ к электронной таблице через список каналов или на основе ячеек (замените список в URL-адресе на ячейку).

Вы можете попробовать ссылку в браузере и увидеть результат в формате json.

person apadana    schedule 08.03.2016

(август 2016 г.)

По состоянию на май этого года у вас теперь есть лучшее решение ...

Больше не нужно перекладывать деньги:

  1. API GData (и, следовательно, Zend GData) - это API Google предыдущего поколения. Хотя не все API GData устарели, все новее API Google не используют протокол данных Google.
  2. Существует «новый» API Google Таблиц v4 (не GData]). Чтобы использовать новый API Таблиц, вам необходимо получить клиентская библиотека API Google для PHP, как уже было сказано другими. Последний API намного мощнее и гибче, чем любой предыдущий API. Вот один образец кода, который поможет вам начать работу. Если у вас нет «аллергии» на Python, я также сделал видео с другим, немного более длинным примером, представляющим API, и более глубоким погружением в его код через сообщение в блоге, из которого вы можете учиться.

Обратите внимание, что API таблиц позволяет создавать электронные таблицы и листы, загружать и скачивать данные, а также, в общем смысле, программно обращаться к листу, как если бы вы использовали пользовательский интерфейс (создавать замороженные строки, выполнять форматирование ячеек, изменять размер строк / столбцы, добавление сводных таблиц, создание диаграмм и т. д.), но для выполнения доступа на уровне файла, такого как загрузка и загрузка, импорт и экспорт (то же самое, что загрузка и загрузка, но преобразование в / из форматов Google Apps), вы должны использовать API Google Диска.

person wescpy    schedule 10.08.2016