Электронная таблица Google Docs для JSON
Я видел многочисленные статьи об этом, но они выглядят устаревшими, например, ни один из URL-адресов электронных таблиц Google не имеет ключевого параметра. Я тоже это прочитал:
Данные 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>
Ответы
Ответ 1
Атрибут src
в тэге script
является недопустимой ссылкой (и вы можете сами это увидеть через просмотр вашей ссылки непосредственно в браузере).
Раздел feed/key/worksheet
URL имеет право key
, но неправильные feed
и worksheet
.
В URL-адрес замените "feed
" либо "cells
" (отдельное значение для каждой ячейки), либо "list
" (отдельное значение для каждой строки).
В то же время замените "worksheet
" на "od6
" (указав самый левый или по умолчанию лист - см. этот пост в блоге для доступа к другим листам).
Если вы просмотрите этот новый URL непосредственно в браузере, вы увидите, что он возвращает значимое значение.
Ваш последний тег script может выглядеть следующим образом:
<script src="https://spreadsheets.google.com/feeds/list/1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I/od6/public/values?alt=json-in-script&callback=importGSS"></script>
Для получения дополнительной информации вы можете увидеть пример на сайте Google Developers
Ответ 2
APISpark PaaS имеет функцию создания и развертывания пользовательского JSON API на основе GSpreadsheet. Это может помочь и дать вам больше контроля над веб-API (поддержка CORS, аутентификация, пользовательский домен и т.д.).
Смотрите учебник здесь: https://apispark.com/docs/tutorials/google-spreadsheet
Ответ 3
Вы можете использовать альтернативу этому запросу ваших данных листа, потому что этот метод устарел.
Во всяком случае, вы все еще можете использовать другой формат подачи, вы можете увидеть эти альтернативы в:
https://spreadsheets.google.com/feeds/worksheets/your-spreadsheet-id/private/full
В этом результате вы можете видеть, что любые форматы экспорта доступны. Может помочь вам в формате CSV или Alt JSON?
Ответ 4
Другим потенциальным решением здесь является использование https://gist.github.com/ronaldsmartin/47f5239ab1834c47088e для обертывания вашей существующей электронной таблицы.
Добавьте параметр id
и sheet
html в URL-адрес ниже.
https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec
Например: ваш id
- это ваш идентификатор листа, который
1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I
и ваш лист
Sheet1
В вашем случае вы действительно можете увидеть свои данные (они действительно работают) здесь как json at
https://script.google.com/macros/s/AKfycbzGvKKUIaqsMuCj7-A2YRhR-f7GZjl4kSxSN1YyLkS01_CfiyE/exec?id=1SKI5773_68HiSve1fsz7fr4gotjFWHB7KBuVsOlLz6I&sheet=Sheet1
Чтобы быть в безопасности, вы должны развернуть код sheetAsJson.gs
в github gist выше как свой собственный на своем Google Диске.
Ответ 5
У вас есть много возможных ответов выше. Для тех, кто приходит заново, если вы ищете более контролируемый генератор JSON, проверьте этот принцип:
JSONPuller
Он берет в таблицу и возвращает массив объектов, с выровненными, которые вы выбираете в качестве заголовков (по умолчанию зависит от того, какая строка заморожена)
Приветствия,