Как получить доступ к электронным таблицам Google Sheet только с помощью Javascript?

Я хочу получить доступ к таблицам Google, используя только JavaScript. (нет .NET С#, Java)

Я пришел здесь и был шоком, чтобы знать, что нет JavaScript для JavaScript для доступа к электронной таблице Google.

Скажите, пожалуйста, как получить доступ (CREATE/EDIT/DELETE) Таблицы Google с помощью JavaScript или любых его фреймворков, таких как jQuery и т.д.

Ответ 2

Здесь Gist.

Вы можете создать электронную таблицу, используя API Google Таблиц. В настоящее время нет способа удалить таблицу с помощью API (см. Документацию). Подумайте о API Google Документов в качестве маршрута для создания и поиска документов.

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

Обновление электронной таблицы выполняется через списки на основе списка или на основе ячейки каналы.

Чтение электронной таблицы можно выполнить с помощью API-интерфейсов Google Spreadsheets, упомянутых выше, или только для опубликованных листов, используя Язык запросов API визуализации Google для запроса данных (которые могут возвращать результаты в формате CSV, JSON или HTML-таблицы).


Забудьте jQuery. jQuery действительно очень ценен, если вы пересекаете DOM. Поскольку GAS (Scripting) не использует DOM, jQuery не добавит никакого значения вашему коду. Придерживайтесь ванили.

Я действительно удивлен, что никто не предоставил эту информацию в ответе. Не только может сделать это, но это относительно легко сделать с использованием vanilla JS. Единственным исключением является API визуализации Google, который является относительно новым (с 2011 года). API визуализации также работает исключительно через URI строки запроса HTTP.

Ответ 3

Янв 2018 UPDATE. Когда я ответил на этот вопрос в прошлом году, я забыл упомянуть третий способ доступа к API Google с помощью JavaScript, и это было бы из приложений Node.js, используя его клиент библиотеке, поэтому я добавил ее ниже.

Он Мар 2017, и большинство ответов здесь устарели - принятый ответ теперь относится к библиотеке, которая использует более старую версию API. Более актуальный ответ: вы можете получить доступ к большинству Google API только с использованием JavaScript. Google предлагает 3 способа сделать это сегодня:

При использовании REST API вам необходимо управлять и хранить исходный код, а также выполнять авторизацию, скопировав собственный код auth (см. примеры выше). Приложения Script обрабатывают это от вашего имени, управляя данными (уменьшая "боль", как упоминалось Ape-inago в их ответе), и ваш код хранится на серверах Google. Но ваша функциональность ограничена возможностями, предоставляемыми сервисами App Script, и более старыми JS (ES3 + некоторыми функциями ES5 и настройками Google), тогда как REST API предоставляет разработчикам гораздо более широкий доступ к API. Но эй, хорошо иметь выбор, не так ли? Итак, чтобы ответить на исходный вопрос OP, вместо нуля у разработчиков есть три способа доступа к Google Таблицам с использованием JavaScript.

Ответ 4

Обновление 2016. Самый простой способ - использовать API Google Apps Script, в частности SpreadSheet Service. Это работает для личных листов, в отличие от других ответов, требующих опубликования электронной таблицы.

Это позволит вам привязать код JavaScript к листу Google и выполнить его при открытии листа или когда выбран пункт меню (который вы можете определить).

Здесь Быстрый старт/демонстрация. Код выглядит следующим образом:

// Let say you have a sheet of First, Last, email and you want to return the email of the
// row the user has placed the cursor on.
function getActiveEmail() {
  var activeSheet = SpreadsheetApp.getActiveSheet();
  var activeRow = .getActiveCell().getRow();
  var email = activeSheet.getRange(activeRow, 3).getValue();

  return email;
}

Вы также можете опубликовать такие сценарии, как веб-приложения.

Ответ 5

edit:. На это был дан ответ, прежде чем был выпущен google doc api. См. ответ Эвана Плэйса и Дэн Даскалеску ответ для получения более актуальной информации информация.

Похоже, вы можете, но это боль в использовании. Он включает использование API данных Google.

http://gdatatips.blogspot.com/2008/12/using-javascript-client-library-w-non.html

"В клиентской библиотеке JavaScript есть вспомогательные методы для Календаря, Контактов, Blogger и Google Finance. Однако вы можете использовать его практически с любым API данных Google для доступа к фидам с аутентификацией/приватом. В этом примере используется API DocList."

и пример написания гаджета, который взаимодействует с электронными таблицами: http://code.google.com/apis/spreadsheets/gadgets/

Ответ 6

"Доступ к Документам Google для JavaScript будет утомительным для реализации, и, кроме того, документация Google также не так проста. У меня есть хорошие ссылки для совместного использования, благодаря которым вы можете получить доступ к gs для js:

http://code.google.com/apis/documents/docs/3.0/developers_guide_protocol.html#UploadingDocs

http://code.google.com/apis/spreadsheets/gadgets/

http://code.google.com/apis/gdata/docs/js.html

http://www.mail-archive.com/[email protected]/msg01924.html

Может быть, это поможет вам...

Ответ 7

Для этого типа вы должны использовать Google Fusion Tables. API предназначен для этой цели.

Ответ 8

Извините, это отвратительный ответ. По-видимому, это было вопрос почти два года, поэтому не задерживайте дыхание.

Вот официальный запрос, который вы можете "star"

Вероятно, ближайший, к которому вы можете прийти, перекладывает свою собственную службу с помощью Google App Engine/Python и раскрывает все, что вам нужно, с вашей собственной библиотекой JS, Хотя мне бы хотелось, чтобы у меня было лучшее решение.