Электронная таблица Google Docs для JSON

Я видел множество статей об этом, но они кажутся устаревшими, например, ни один из URL-адресов электронных таблиц Google Docs не имеет ключевого параметра. Я читал это: данные JSON из таблицы google

затем я прочитал это для доступа к данным https://developers.google.com/gdata/samples/spreadsheet_sample

моя электронная таблица существует в: https://docs.google.com/spreadsheets/d/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/edit#gid=0

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

<script src="http://spreadsheets.google.com/feeds/feed/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/worksheet/public/basic?alt=json-in-script&callback=importGSS"></script>

<script type="text/javascript">

    function importGSS(json) {
        console.log('finished');
    }
</script>

5 ответов


на src атрибут script тег является недопустимой ссылкой (и вы можете увидеть это сами по просмотр ссылки непосредственно в браузере).

на feed/key/worksheet раздел URL имеет право key но не так feed и worksheet.

в URL-адресе заменить "feed" С "cells" (отдельное значение для каждой ячейки) или "list" (отдельное значение для каждой строки).

в то же время, заменить "worksheet" С "od6 "(указывает крайний левый или по умолчанию лист-см. этот блог для доступа к другим листам).

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

ваш конечный тег скрипта может выглядеть так:

<script src="https://spreadsheets.google.com/feeds/list/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/od6/public/values?alt=json-in-script&callback=importGSS"></script>

для получения дополнительной информации, вы можете увидеть пример на сайт разработчиков Google


APISpark PaaS имеет функцию для создания и развертывания пользовательского API JSON на основе GSpreadsheet. Это может помочь и дать вам больше контроля над веб-API (Поддержка CORS, аутентификация, пользовательский домен и так далее).

см. учебник здесь:https://apispark.com/docs/tutorials/google-spreadsheet


вы можете рассмотреть возможность использования альтернативы этому запросу данных листа, поскольку этот метод устарел. В любом случае, вы можете использовать другой формат ленты, вы можете увидеть эти альтернативы в: https://spreadsheets.google.com/feeds/worksheets/your-spreadsheet-id/private/full

в этом результате вы можете увидеть, что любые форматы экспорта доступны. Может помочь вам формат визуализации CSV или alt JSON?


еще одно потенциальное решение здесь-использовать это https://gist.github.com/ronaldsmartin/47f5239ab1834c47088e чтобы обернуть вокруг существующей электронной таблицы.

добавить id и sheet HTML param к URL ниже.

https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec

например: ваш id Ваш идентификатор листа, который is

1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I

и ваш лист, который

Sheet1

в вашем случае вы можете увидеть свои данные (они действительно работают) здесь как json в

https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec?id=1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I&sheet=Sheet1

чтобы быть в безопасности, вы должны развернуть код sheetAsJson.gs в GitHub gist выше, как ваш собственный в ваш Google Диск.


У вас есть много возможных ответов. Для тех, кто приходит заново, если вы ищете более управляемый генератор JSON, проверьте эту суть:

JSONPuller

Он принимает электронную таблицу и возвращает массив объектов, с подкладкой, которую вы решаете в качестве заголовков (по умолчанию какая бы строка не была заморожена)

спасибо,