Хочу сделать погодное приложение — где новичку взять данные о погоде?
Мечтаю сделать приложение, которое показывает погоду в моём городе. Но я совсем не понимаю главного: откуда программа вообще узнаёт погоду? Не я же её ввожу. Слышал слово «API», но для меня это пока магия. Объясните на пальцах, как это работает.
2 ответа
Ты прав, что данные берутся не из тебя. Их даёт API — это как «окошко выдачи» у чужого сервера. Ты отправляешь запрос «дай погоду для Москвы», сервис (например, OpenWeatherMap) присылает ответ в виде текста (обычно JSON), а твоя программа его читает и показывает.
На пальцах путь такой:
- Регистрируешься на сервисе погоды и получаешь ключ (API key) — это твой пропуск.
- Делаешь запрос по специальному адресу, подставив город и ключ.
- В ответ приходит JSON вроде
{ "main": { "temp": 12.5 } }. - Достаёшь из него температуру и выводишь.
Пример на JS:
fetch('https://api.openweathermap.org/data/2.5/weather?q=Moscow&appid=ТВОЙ_КЛЮЧ&units=metric')
.then(r => r.json())
.then(data => console.log(data.main.temp));
Главная идея: погода живёт на чужом сервере, а API — это способ вежливо её попросить. Начни с того, чтобы просто вывести ответ в консоль, а уже потом рисуй красивую карточку.
Маленькое предупреждение по ключу: его выдают тебе лично, и его нельзя выкладывать в открытый код на GitHub. В учебном проекте на чистом фронтенде ключ всё равно виден, и это ок для практики, но не считай его секретом и не привязывай к нему платный тариф. По-взрослому ключ прячут на своём сервере-посреднике, но это уже сильно дальше.