Я хочу получить доступ к таблицам Google только с помощью JavaScript (без .NET, C #, Java и т. Д.)
Я пришел сюда и был шокирован, узнав, что для JavaScript НЕТ API для доступа к Google Таблицам.
Скажите, пожалуйста, как получить доступ к (СОЗДАТЬ / ИЗМЕНИТЬ / УДАЛИТЬ) Google Таблицы с помощью JavaScript или любой из его структур, например jQuery.
Ответы:
Я создал простую библиотеку javascript, которая извлекает данные электронной таблицы Google (если они опубликованы) через JSON api:
https://github.com/mikeymckay/google-spreadsheet-javascript
Вы можете увидеть это в действии здесь:
http://mikeymckay.github.com/google-spreadsheet-javascript/sample.html
источник
ОБНОВЛЕНИЕ в январе 2018 г. Когда я отвечал на этот вопрос в прошлом году, я не упомянул о третьем способе доступа к API Google с помощью JavaScript, и это будет из приложений Node.js, использующих его клиентскую библиотеку, поэтому я добавил его ниже.
Это март 2017 года , и большинство ответов здесь устарели - принятый ответ теперь относится к библиотеке, которая использует более старую версию API. Более актуальный ответ: вы можете получить доступ к большинству API Google только с помощью JavaScript. Сегодня Google предлагает 3 способа сделать это:
При использовании REST API вам необходимо управлять исходным кодом и хранить его, а также выполнять авторизацию путем развертывания собственного кода аутентификации (см. Примеры выше). Скрипт приложений обрабатывает это от вашего имени, управляя данными (уменьшая «боль», как упомянул Ape-inago в их ответе ), а ваш код хранится на серверах Google. Но ваша функциональность ограничена тем, какие службы предоставляет сценарий приложения, тогда как REST API предоставляет разработчикам гораздо более широкий доступ к API. Но эй, хорошо иметь выбор, правда? Таким образом, чтобы ответить на исходный вопрос OP, вместо нуля у разработчиков есть три способа доступа к Google Таблицам с помощью JavaScript.
источник
Вот суть.
Вы можете создать электронную таблицу с помощью Google Sheets API . В настоящее время нет возможности удалить электронную таблицу с помощью API (прочтите документацию). Думайте о Google Docs API как о маршруте для создания и поиска документов.
Вы можете добавлять / удалять рабочие листы в электронной таблице, используя каналы на основе рабочих таблиц .
Обновление электронной таблицы выполняется с помощью каналов на основе списков или каналов .
Чтение электронной таблицы может быть выполнено либо с помощью API-интерфейсов Google Spreadsheets, упомянутых выше, либо, только для опубликованных листов , с помощью языка запросов API визуализации Google для запроса данных (который может возвращать результаты в формате таблицы CSV, JSON или HTML).
Забудьте о jQuery. jQuery действительно ценен только в том случае, если вы просматриваете DOM. Поскольку GAS (Google Apps Scripting) не использует DOM, jQuery не добавит ценности вашему коду. Придерживайтесь ванили.
Я очень удивлен, что пока никто не предоставил эту информацию в ответе. Это не только можно сделать, но и относительно легко сделать с помощью vanilla JS. Единственным исключением является API визуализации Google, который является относительно новым (по состоянию на 2011 год). API визуализации также работает исключительно через URI строки HTTP-запроса.
источник
Есть решение, которое не требует публикации электронной таблицы. Тем не менее, лист должен быть «Общий». Более конкретно, нужно предоставить общий доступ к таблице таким образом, чтобы любой, у кого есть ссылка, мог получить доступ к электронной таблице. Как только это будет сделано, можно будет использовать HTTP API Google Таблиц.
Во-первых, вам понадобится ключ Google API. Зайдите сюда: https://developers.google.com/places/web-service/get-api-key NB. Помните о последствиях для безопасности публичного доступа к ключу API: https://support.google.com/googleapi/answer/6310037
Получить все данные для электронной таблицы - предупреждение, это может быть много данных.
Получить метаданные листа
Получите диапазон ячеек
Теперь, вооружившись этой информацией, можно использовать AJAX для извлечения данных, а затем манипулировать ими в JavaScript. Я бы рекомендовал использовать аксиомы .
источник
Обновление 2016 г . : Самый простой способ - использовать Google Apps Script API, в частности службу SpreadSheet . Это работает для частных листов, в отличие от других ответов, которые требуют публикации электронной таблицы.
Это позволит вам привязать код JavaScript к листу Google и выполнять его, когда лист открыт или когда выбран пункт меню (который вы можете определить).
Вот краткое руководство / демонстрация . Код выглядит так:
Вы также можете публиковать такие скрипты как веб-приложения .
источник
Выглядит так, как будто можно, но пользоваться им сложно. Это предполагает использование API данных Google.
http://gdatatips.blogspot.com/2008/12/using-javascript-client-library-w-non.html
«В клиентской библиотеке JavaScript есть вспомогательные методы для Календаря, Контактов, Blogger и Google Финансов. Однако вы можете использовать ее практически с любым API данных Google для доступа к аутентифицированным / частным фидам. В этом примере используется DocList API».
и пример написания гаджета, который взаимодействует с электронными таблицами: http://code.google.com/apis/spreadsheets/gadgets/
источник
«JavaScript для доступа к Документам Google» было бы утомительно реализовать, и, кроме того, документацию Google также не так просто получить. У меня есть несколько хороших ссылок, с помощью которых вы можете получить js-доступ к gdoc:
Может быть, это вам поможет ..
источник
Извините, это паршивый ответ. Похоже, это проблема уже почти два года, так что не задерживайте дыхание.
Вот официальная просьба о том, что вы можете "пометить"
Вероятно, самое близкое, что вы можете сделать, - это развернуть собственный сервис с помощью Google App Engine / Python и раскрыть любое нужное вам подмножество с помощью собственной библиотеки JS. Хотя я бы сам хотел найти лучшее решение.
источник
В этом быстро меняющемся мире большая часть этих ссылок устарела.
Теперь вы можете использовать веб-API Google Диска :
источник
вы можете сделать это с помощью Sheetsee.js и tabletop.js
источник
Вы можете читать данные электронных таблиц Google Sheets на JavaScript с помощью коннектора листов RGraph:
https://www.rgraph.net/canvas/docs/import-data-from-google-sheets.html
Первоначально (несколько лет назад) это полагалось на некоторые функции RGraph, чтобы творить чудеса, но теперь он может работать автономно (т.е. не требует общей библиотеки RGraph).
Пример кода (в этом примере создается диаграмма RGraph):
источник
Для этого вам следует использовать Google Fusion Tables . API предназначен для этой цели.
источник