Как занести данные в google tables с помощью javascript?

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

ВСем привет!

Есть такой ответ от api:

{"latitude":55.75,"longitude":37.625,"generationtime_ms":0.0909566879272461,"utc _offset_seconds":0,"timezone":"GMT","timezone_abbreviation":"GMT","elevation":14 1.0,"daily_units":{"time":"iso8601","temperature_2m_max":"°C"},"daily":{"time":["2023-10-23","2023-10-24","2023-10-25","2023-10-26","2023-10-27","2023-10-28","2023-10-29"],"temperature_2m_max":[5.2,3.0,0.6,-0.2,-1.2,-0.4,-0.7]}}

Пытаюсь написать функцию, которая погоду ("temperature_2m_max":[5.2,3.0,0.6,-0.2,-1.2,-0.4,-0.7]) занесет в каждую ячейку.

function callWeather() {

var response = UrlFetchApp.fetch("https://api.open-meteo.com/v1/forecast?latitude=55... T");
var json = response.getContentText();
var data = JSON.parse(json);

Logger.log(data);
Logger.log(data["temperature_2m_max"]);
//хочу обратиться к первому элементу массива, но ...
Logger.log(data["temperature_2m_max"][0]);
}
на последней строке ошибка: TypeError: Cannot read properties of undefined (reading '0')

Дополнительно:

Как на счет...
data['daily']['temperature_2m_max'][0]
?

Не понятно только, при чем тут google tables, которые скорее google sheets, если проблема в коде.

  • конечно же sheets. ну вот на столько я не разбираюсь)

    А как теперь в ячейки температуру занести?
    я пытаюсь:
    sheet.getRange(sheet.getLastRow() + 1,1).setValue([data]);

  • YurchenkoAN, https://developers.google.com/apps-script/referenc...
  • Ошибка связана с тем, что в возвращаемом объекте нет непосредственно ключа "temperature_2m_max". Он находится в объекте "daily". Попробуйте обратиться к "temperature_2m_max" через "daily".
    function callWeather() {     var response = UrlFetchApp.fetch("https://api.open-meteo.com/v1/forecast?latitude=55... T");     var json = response.getContentText();     var data = JSON.parse(json);      Logger.log(data);     Logger.log(data["daily"]["temperature_2m_max"]);     Logger.log(data["daily"]["temperature_2m_max"][0]); }

    function callWeather() { var response = UrlFetchApp.fetch("https://api.open-meteo.com/v1/forecast?latitude=55... T"); var json = response.getContentText(); var data = JSON.parse(json); Logger.log(data); Logger.log(data["daily"]["temperature_2m_max"]); Logger.log(data["daily"]["temperature_2m_max"][0]); }

  • Sergey, а я какой вариант предоставил?)
Нужно решить такую задачу?

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

Заказать помощь
Лучший ответ
1
Максим Павлов Ответ

Для того чтобы занести данные в Google Tables с помощью JavaScript, можно воспользоваться Google Sheets API. Ниже приведен пример кода на JavaScript, который демонстрирует как добавить данные в таблицу Google Sheets:

```html

Google Tables API Example

function addToGoogleTables() {
const CLIENT_ID = 'YOUR_CLIENT_ID';
const API_KEY = 'YOUR_API_KEY';
const SPREADSHEET_ID = 'YOUR_SPREADSHEET_ID';

gapi.load('client:auth2', initClient);

function initClient() {
gapi.client.init({
apiKey: API_KEY,
clientId: CLIENT_ID,
discoveryDocs: ['https://sheets.googleapis.com/$discovery/rest?version=v4'],
scope: 'https://www.googleapis.com/auth/spreadsheets',
}).then(function() {
gapi.auth2.getAuthInstance().signIn();
gapi.client.sheets.spreadsheets.values.append({
spreadsheetId: SPREADSHEET_ID,
range: 'Sheet1!A1:B1',
valueInputOption: 'USER_ENTERED',
values: [['Data 1', 'Data 2']],
}).then(function(response) {
console.log('Data added successfully');
}, function(response) {
console.error('Error adding data');
});
});
}
}

```

Прежде чем использовать данный код, необходимо заменить значения переменных CLIENT_ID, API_KEY и SPREADSHEET_ID на свои собственные. Также убедитесь, что в настройках вашего проекта в Google Console включено Google Sheets API.

Этот код инициализирует клиента Google API, а затем добавляет новую строку с данными 'Data 1' и 'Data 2' в указанный диапазон листа таблицы Google Sheets. После успешного выполнения операции добавления данных будет выведено сообщение "Data added successfully".

Надеюсь, этот пример поможет вам решить вашу проблему с занесением данных в Google Tables с помощью JavaScript. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать.

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

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

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

комментарий

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

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