Получение базового (API Instagram Basic Display) ключа доступа (access_token) для API «Instagram»
15 октября 2019 года компания Facebook по соображениям безопасности закрыла новым клиентам доступ к старому API «Instagram».
Альтернативой стали «API Instagram Basic Display» (базовый доступ, позволяющий получить основную информацию из профиля, его фото и видео) и «API Graph для Instagram» (расширенный доступ, позволяющий управлять своими аккаунтами: получать и публиковать медиафайлы, управлять комментариями и отвечать на них, работать с хэштегами и прочее).
В этой же статье мы подробно рассмотрим, как получить access_token для работы с базовым API «Instagram».
Как получить API Instagram Basic Display для работы с API «Instagram»?
Несмотря на то, что получение нового доступа к API кардинально изменилось, процесс остался таким же не сложным, хотя и относительно долгим по шагам.
1. Первым делом вам необходимо авторизоваться (а если нет профиля – то сначала зарегистрироваться) на Facebook для разработчиков. Для этого перейдите по этой ссылке.
2. Далее в верхнем правом углу переходите в раздел «Мои приложения», а на открывшейся странице жмёте – «Создать приложение».
3. В модальном окне выбираете тип приложения «Потребительское» и жмёте «Продолжить».
4. В следующем модальном окне вводим название вашего приложения и почту для связи, после чего жмём «Создание приложения» и подтверждаем создание вводом пароля от вашего аккаунта в Facebook.
5. На открывшейся странице (или на странице «Панель», находится в левом меню) ищем блок с Instagram Basic Display и жмём в нём «Настроить».
6. На открывшейся странице жмёте на кнопку «Create New App»,
а в модальном окне вводите (или подтверждаете) название вашего приложения и жмёте «Создайте приложение».
7. После обновления страницы прокрутите ее немного вниз и в графы «Клиентские настройки OAuth», «Отменить авторизацию» и «Запросы на удаление данных» пропишите ссылку на ваш сайт.
После чего сохраните изменения нажатием на соответствующую кнопку.
8. Далее в левом меню найдите раздел «Роли». Раскройте его и перейдите в подраздел «Роли».
9. На открывшейся странице найдите блок «Тестировщики Instagram». В нём нажмите на кнопку «Добавить Instagram Testers».
10. В открывшемся окне введите имя аккаунта (логин) из Instagram и отправьте приглашение нажатием на соответствующую кнопку.
При этом хочу отметить, что по мере введения логина вам будут предложены найденные страницы. Это позволяет исключить отправку приглашения не тому лицу.
11. После того, как приглашение успешно отправлено, перейдите (и авторизуйтесь) к веб-версии Instagram.
12. Далее щелкните в правом верхнем углу по иконке человечка (профиля) и перейдите тем самым на свою страницу в Instagram.
13. Затем нажмите рядом с фотографией профиля кнопку «Редактировать профиль», а на отрывшейся странице (в левом меню) перейдите в «Приложения и сайты», где откройте вкладку «Приглашения тестировщиков» и примите находящееся там приглашение, которое вы отправили на 10 шаге.
14. Отлично, большая часть шагов позади и теперь необходимо вернуться в панель управления вашим приложением на Facebook. В левом меню ищите выпадающий список «Instagram Basic Display», открываете его и выбираете пункт «Basic Display».
15. На открывшейся странице ищите блок «Генератор маркеров пользователя», и напротив ранее приглашённого пользователя (к слову, их может быть несколько, каждый приглашается 10 пунктом) жмёте «Generate Token». Если вам необходимо перевыпустить уже имеющийся токен, например, в результате утери старого, сделать это можно также в данном блоке.
16. В открывшемся окне повторно авторизуйтесь в профиле Instagram, для которого генерируете ключ.
17. Далее появится модальное окно, в котором отмечаем чекбокс «I Understand», после чего вам будет доступен токен пользователя (сохраните его в надёжное место и никому не сообщайте), который действителен 3 месяца, при этом его можно продлить в автоматическом режиме, подробнее об этом читайте в нашей следующей статье.
Вот, собственно, и все.
Теперь можно проверить корректность работы ключа доступа. Для этого перейдите по следующему адресу:
https://graph.instagram.com/me?fields=id,username&access_token=ACCESS_TOKEN
Где «ACCESS_TOKEN» – ваш персональный ключ доступа, полученный ранее.
В ответ вам придет ID и username (логин) страницы, для которой вы получили ключ доступа. Если этого не произошло – пишите в комментариях, постараюсь помочь в решении проблемы.
Таким способом можно получить ключ доступа (access_token) и данные через него только для своей страницы. Для остальных же вам необходимо проходить проверку приложения (получать разрешения instagram_graph_user_profile для получения данных профиля и instagram_graph_user_media – для получения медиа) (сделать это можно в разделе «Basic Display», блок «Проверка приложения "Instagram Basic Display"»), а также получать разрешение (через аутентификацию) на использование информации у владельца страницы.