Как получить данные публичной гугл таблицы в виде .json из фронтенда?

Ссылка скопирована
1 ответ

Здравствуйте. Имеется гугл таблица, на которую дается доступ "всем, у кого есть ссылка".
Как получить её данные в виде .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 Документ не опубликован"
    Может, какие-то манипуляции с гугл таблицей надо сделать помимо открытия доступа по ссылке?

  • Антон Неверов, Что-то я ночью не то нажал. В общем, сейчас работает. Возможно, нужно было опубликовать саму таблицу в интернете. В общем, спасибо!
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Андрей PHP Ответ

Для получения данных из публичной 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);
});

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 таблицы будут доступны публично, поэтому не храните важную конфиденциальную информацию в таблице.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно