Обновление экспорта API таблиц Google

Ранее мы получали экспорт из API электронной таблицы Google, используя следующий URL-адрес

https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=spreadsheetID&exportFormat=csv&gid=gid

Когда Google представил новые таблицы, этот URL-адрес для них не работал, хотя продолжал работать для таблиц старого стиля. В результате мы использовали API-интерфейс Google Drive для получения новых таблиц стилей, но у него есть некоторые ограничения, так как вы должны получить всю электронную таблицу вместо отдельного листа, и он не поддерживает CSV (ваш экспорт должен быть в формате Excel).

Хотя после прочтения следующего вопроса: Доступен ли API для новые листы Google (электронные таблицы)? Похоже, что новые листы поддерживаются, несмотря на отсутствие информации об этом в документации по API.

Покопавшись в ответе, я обнаружил, что на новых листах есть ссылка на экспорт в виде поля в формате:

https://docs.google.com/spreadsheets/d/spreadsheetID/export?format=csv&gid=gid

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

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

Спасибо!


person Luke Chamberlain    schedule 15.05.2014    source источник
comment
Когда вы открываете электронную таблицу, URL-адреса новой и старой таблиц стилей различаются - не уверен, что это вам поможет.   -  person eddyparkinson    schedule 19.05.2014


Ответы (1)


API таблиц Google (стиль GData) работает одинаково как для старых, так и для новых таблиц стилей.

Возможные проблемы:

1) закрытые листы требуют OAuth2

2) Идентификатор листа не является GID. Чтобы получить таблицу, вам понадобится идентификатор таблицы стилей GData. Поэтому ему нужен вызов API, чтобы получить сопоставления от имени листа к идентификатору листа.

3) Исходный формат данных - XML.

person eddyparkinson    schedule 19.05.2014