Как получить данные публичной гугл таблицы в виде .json из фронтенда?
Здравствуйте. Имеется гугл таблица, на которую дается доступ "всем, у кого есть ссылка".
Как получить её данные в виде .json при помощи XMLHttpRequest() из фронтенда?
Дополнительно:
По первой ссылке в гугле оказалось, что у таблиц есть вот такой роут:
https://spreadsheets.google.com/feeds/cells/YOURGO...
YOURGOOGLESHEETCODE и SHEETPAGENUMBER заменить на ваши. Например:
https://spreadsheets.google.com/feeds/cells/1g4FBk...
- Не получается. (( Консоль выдает
Access to XMLHttpRequest at ................ссылка............... has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. - MaxYenot, используйте cors-прокси. Например, https://codetabs.com/cors-proxy/cors-proxy.html
- Антон Неверов, Проблема в том, что вашу ссылку XMLHttpRequest() обработал и вернул.
Но такую ошибку он возвращает именно на мою таблицу. Хотя я открывал доступ на чтение. И потом на редактирование по ссылке. Может, я что-то делаю не правильно в самой гугл таблице. Даже если я просто вставлю вашу ссылку в браузер, он мне выдаст json.
А на мою ссылку пишет "Google sheets Документ не опубликован"
Может, какие-то манипуляции с гугл таблицей надо сделать помимо открытия доступа по ссылке? - Антон Неверов, Что-то я ночью не то нажал. В общем, сейчас работает. Возможно, нужно было опубликовать саму таблицу в интернете. В общем, спасибо!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для получения данных из публичной Google таблицы в формате .json из фронтенда, можно воспользоваться Google Sheets API. Вот пример того, как это можно сделать с использованием JavaScript:
1. Создайте новый проект в Google Cloud Console и включите для него Google Sheets API.
2. Создайте учетные данные (Service Account) для вашего проекта и загрузите файл JSON с ключами.
3. Откройте вашу Google таблицу и дайте доступ для чтения вашему Service Account.
4. Вставьте следующий код на вашем фронтенде:
const googleSheetId = 'YOUR_GOOGLE_SHEET_ID'; const googleApiKey = 'YOUR_GOOGLE_API_KEY'; fetch(`https://sheets.googleapis.com/v4/spreadsheets/${googleSheetId}/values/Sheet1!A1:Z100?key=${googleApiKey}`) .then(response => response.json()) .then(data => { console.log(data); });
5. Замените 'YOUR_GOOGLE_SHEET_ID' на ID вашей Google таблицы и 'YOUR_GOOGLE_API_KEY' на ваш API ключ.
6. Запустите ваше приложение и вы увидите данные из вашей Google таблицы в формате JSON.
Не забудьте обработать ошибки и добавить необходимые проверки в вашем коде. Важно помнить, что данные из Google таблицы будут доступны публично, поэтому не храните важную конфиденциальную информацию в таблице.