Как вывести фото из Instagram на сайт

655 просмотров
Автор: Николай Ковалёв

Довольно часто владельцы сайтов хотят вывести где-нибудь в подвале своего сайта последние посты из своего Instagram. В этой статье мы разберем, как получить фото и видео из Instagram и вывести их у себя на сайте.

Шаг 1. Регистрируем приложение в Instagram для получения доступа к API

Уже давненько Instagram закрыл открытый доступ к своему API, поэтому теперь, чтобы работать с их API, нужно получить access_token. Чтобы его получить, нужно зарегистрировать приложение в Instagram.

Переходим на страницу для разработчиков https://www.instagram.com/developer/ и жмём Register your Application.

register_app.jpg

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

developer_info.jpg

Теперь переходим на вкладку Manage Clients и жмём кнопку Register a New Client.

a3da795696.png

Перед нами появится форма регистрации приложения. Заполняем все поля.

register_form.jpg

На вкладке Security убираем галочку с пункта Disable implicit OAuth и жмём кнопку Register.

register_client.jpg

Приложение успешно зарегистрировано. Осталось получить access_token. Для этого копируем следующий URL и вставляем в адресную строку браузера.

https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token

Вместо REDIRECT-URI вставляем название сайта для которого мы регистрировали приложение, а вместо CLIENT-ID вставляем наше значение, которое берем в зарегистрированном нами приложении.

manage.jpg

После перехода по URL, появится форма, в которой жмём кнопку Authorize.

e5b2f02fd0.png

После этого нас перебросит на наш сайт, а в адресной строке будет наш access_token.

Шаг 2. Получаем последние посты из Instagram

Приложение со статусом Sandbox Mode или "Песочница", позволяет получить максимум 20 последних постов. Если хотите больше, нужно отправлять приложение на одобрение.

Итак, чтобы получить последние посты, воспользуемся следующим кодом:

$client_id = ""; //client_id = это набор символов до первой точки из access_token
$access_token = "";
$post_count = 1; //количество постов

$media = file_get_contents('https://api.instagram.com/v1/users/'.$client_id.'/media/recent/?access_token='.$access_token.'&count='.$post_count);
$media = json_decode($media, true);
На этом всё. На выходе мы получили массив $media в котором хранится полная информация о последних постах из нашего Instagram.
5.00 1 голос
Валюта цен: BYN RUB