Изучите основы JavaScript и API в современном сценарии использования

Google Apps Script - один из самых простых способов освоить JavaScript в реальных повседневных проектах. Есть много проектов, которые вы можете создать и чему научиться, используя платформу Google, и сегодня мы именно этим и займемся.

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

Вместо прямого перехода на веб-сайт я предоставлю вам инструменты для создания собственного живого трекера COVID-19 прямо в таблицах Google с помощью встроенного скрипта приложений и бесплатного COVID19API.

Скрипт приложений

Мы будем создавать пользовательские функции в редакторе скриптов, а затем вызывать их на главной странице листов для отображения данных. Для начала перейдите в Инструменты, затем выберите Редактор скриптов.

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

Мы можем проверить это, выполнив простую функцию добавления восклицательного знака к нашему вводу, сохранив сценарий и запустив его на листе.

function myFunction(input) {
  return input + '!'
}

Теперь, когда мы знакомы с редактором скриптов, мы можем приступить к работе с API.

API

Как упоминалось выше, мы будем использовать COVID19API в качестве нашего API. Документацию можно найти здесь.

Мы сделаем два запроса: один для получения списка стран, а другой для получения количества обращений для каждой страны.

Страны

https://api.covid19api.com/countries

Как видите, вызов дает нам информацию в формате JSON, который содержит данные для «Country», «Slug» и «ISO2».

Итого по стране

https://api.covid19api.com/total/country/[country]

API отвечает с большим количеством информации, но мы ищем именно «Подтверждено».

Собираем все вместе

Теперь, когда мы знакомы с редактором скриптов и его работой, а также с конкретными вызовами API, которые мы будем использовать, мы можем объединить их для создания нашего трекера.

Сначала мы создадим функцию под названием getCountries -

Основные компоненты:

  • URL-адрес API https://api.covid19api.com/countries
  • Получение через UrlFetchApp.fetch ()
  • JSON анализирует ответ через JSON.parse ()
  • Цикл по каждой стране и добавление названия страны и слага в массив

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

Как видите, мы получаем названия стран и ярлыки.

Наша вторая функция будет использовать ярлыки для получения обращений. Мы создадим функцию под названием getTotalCases (), которая принимает ввод.

Эта функция во многом похожа на первую, но есть несколько ключевых отличий.

  • Во-первых, мы принимаем входные данные, что означает, что ответ функции будет зависеть от ячейки, на которую она ссылается.
  • Мы выполняем интерполяцию строк, при которой мы берем ввод и вставляем текст во ввод как часть вызова API.
  • Мы не возвращаем массив, мы возвращаем одно значение, соответствующее последним общему количеству обращений в стране.

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

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

Нам не нужно писать для этого пользовательскую функцию, потому что она уже встроена в листы. Откройте новый лист, создайте несколько заголовков столбцов и используйте следующую функцию:

И вот оно! Трекер COVID19 с данными в реальном времени прямо в наших таблицах Google с использованием скрипта приложений и API.