Сегодня я научу вас, как получить доступ к National Geographic API (потому что кто не любит National Geographic, верно?). Так что же такое интерфейс прикладных программ (API)? Это приложение, которое позволяет двум веб-сайтам обмениваться информацией. В нашем случае мы будем использовать National Geographic API для отображения их статей на нашем сайте!

Чтобы получить доступ к API, вы должны запросить ключ. Чтобы получить ключ API National Geographic, перейдите по ссылке https://newsapi.org/s/national-geographic-api.

Как только вы доберетесь туда, нажмите синюю кнопку с надписью «Получить ключ API, чтобы начать поиск в National Geographic». Вы перейдете на страницу настройки своей учетной записи, где вы должны ввести свое имя, адрес электронной почты и пароль. Затем он назначит вам ключ; ключ будет представлять собой длинную строку цифр и букв. Скопируйте этот ключ и вставьте его в безопасное место (он понадобится вам позже).

Хорошо, создайте новую папку на рабочем столе. Назовите вашу новую папку «national_geographic» и перейдите к нашему терминалу. Как только вы окажетесь в своем терминале, убедитесь, что вы находитесь в национальном географическом каталоге. Теперь создайте два новых файла, index.js и index.html. Там вы можете ввести команду atom ., и она откроет ваш каталог с двумя новыми включенными файлами.

Я не буду сейчас вдаваться в подробности о том, что происходит в файле HTML, но скопируйте и вставьте его.

(скопируйте и вставьте приведенный ниже код в файл index.html)

‹!DOCTYPE HTML›

‹html lang=’ru’›

‹голова›

‹мета-кодировка=’utf-8’›

‹/голова›

‹title›Учебное пособие по National Geographic API‹/title›

‹тело›

‹div id=’content’›‹/div›

‹script src=’index.js’›‹/script›

‹/тело›

‹/html›

Теперь давайте перейдем к файлу index.js.

(скопируйте и вставьте приведенный ниже код в файлindex.js)

var request = new XMLHttpRequest();

request.open('GET', 'https://newsapi.org/v2/top-headlines?sources=national-geographic&apiKey=THIS_IS_WHERE_YOU_WILL_PUT_YOUR_API_KEY', true);

request.onload = функция () {

};

запрос.send();

Теперь давайте посмотрим, что происходит в коде index.js.

Во-первых, мы создаем переменную с именем request, которая будет содержать наш объект XMLHttpRequest. Этот новый объект создаст новый HTTP-запрос.

Затем мы используем request.open для получения нашего URL-адреса (здесь мы сообщаем нашему объекту запроса, что мы ищем).

Затем мы устанавливаем в request.onload функцию, которая позволит нам видеть и манипулировать ответом HTTP, который мы получаем.

Наконец, мы завершаем наш запрос с помощью request.send(). И это почти все! На данный момент вы получили доступ к National Geographic API. Поздравляю!

Но нет никакого удовольствия в доступе к API, если мы не можем манипулировать данными, играть с ними и видеть их. Итак, давайте сделаем это сейчас.

(скопируйте и вставьте приведенный ниже код в request.onload функциюв файлеindex.js.)

const arrayOfObjs = JSON.parse(this.response);

if (request.status ›= 200 && request.status ‹ 400){

const articleArray = arrayOfObjs.articles;

for(var i = 0; i ‹ articleArray.length; i++){

//это позволит нам увидеть наши статьи и изображения позже

const article = document.createElement(‘div’);

article.setAttribute('класс', 'статья');

// название статьи

const h1 = document.createElement('h1');

h1.textContent = articleArray[i].title;

console.log(h1);

}

}еще{

console.log("Произошла ошибка");

}

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

Наша следующая строка кода — это оператор if-else, который проверяет, не возникла ли ошибка при выполнении запроса к API. Если мы не получили ответ об ошибке, мы перебираем переменную articleArray. В противном случае выводится сообщение «Произошла ошибка».

Нам не нужна вся информация, содержащаяся в нашей переменной arrayOfObjs. В нем полно информации, которая нам сейчас не нужна. Нам нужны только наши статьи. Итак, мы создали нашу переменную articleArray, в которой хранятся только статьи и ничего больше.

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

Чтобы просмотреть консоль Chrome, выполните следующие действия.

1. Откройте Хром

2. Перейдите на вкладку «Файл».

3. Нажмите «Открыть файл».

4. Откройте папку «national_geographic».

5. Щелкните index.html.

Это откроет файл HTML в вашем браузере Chrome, и вы увидите пустую страницу. Не паникуйте! Щелкните правой кнопкой мыши и выберите «проверить» в раскрывающемся меню.

Вы также можете перейти в Chrome -> вид -> Разработчик -> Инструменты разработчика.

Перейдите на вкладку консоли, и вы увидите элементы h1 с заголовками статей. Как здорово!

Теперь мы собираемся получить доступ к изображениям статьи и URL-адресам, которые могут привести нас к полной статье.

(скопируйте код под строкой console.log(h1) в приведенном выше коде)

//ссылка на изображение статьи и создание нового элемента, чтобы мы могли видеть его в нашем браузере

const img = document.createElement(‘img’);

img.src = articleArray[i].urlToImage;

console.log(img);

//ссылка на содержание статьи и создание нового элемента, чтобы мы могли видеть его в браузере

const a = document.createElement('a');

a.href = articleArray[i].url;

console.log(a);

//код позволит нам просматривать наши заголовки, изображения

container.appendChild(статья);

статья.appendChild(h1);

article.appendChild(img);

article.appendChild(a);

//добавьте эту строку, чтобы при нажатии на изображение вы переходили к полной статье

a.appendChild(img);

На этом этапе вы можете обновить свой браузер, использовать «проверить» и перейти на вкладку консоли. Вы увидите переменные «h1», «img» и «a» на консоли.

Чтобы увидеть заголовки и изображения в браузере, скопируйте и вставьте приведенный ниже код.

(скопируйте и вставьте вверху файла index.js.)

const app = document.getElementById(‘content’);

const img = document.createElement(‘img’);

const container = document.createElement(‘div’);

const h1 = document.createElement('h1');

const a = document.createElement('a');

container.setAttribute('класс', 'контейнер');

app.appendChild(h1);

app.appendChild(a);

app.appendChild(img);

app.appendChild(контейнер);

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

(Пожалуйста, ознакомьтесь с рекомендациями National Geographic API перед использованием API)

Первоначально опубликовано на mcelis13.github.io.