Настройка ленты вывода инстаграма на сайте

Чтобы выводить посты, недостаточно указывать логин/пароль. Помимо этого нужно чтобы сервер не заходил напрямую из России на аккаунты других стран.

Решение: Настройка приложения от Facebook'а и использование его в выводе ленты на сайте.

Получение секретного ключа

Заходим на сайт для разработчиков Facebook под учеткой SMM'щика. Тут будут уже созданные приложения. Нам нужно 7DAYS: InApp (World).

0

Затем идем Roles - Roles

1

Скроллим страницу в конец, где будет блок Instagram Testers

2

Добавляем нового тестера Add Instagram Testers - вводим в поле имя аккаунта для которого нужно создать ленту.

3

Жмем Submit. Видим, что тестер добавился и ожидает подтверждения (Pending)

4

Теперь нужно идти в аккаунт Instagram. Логинимся, идем в Настройки - Приложения и сайты - Приглашения для тестировщиков (вкладка). Видим наше приглашение от 7DAYS: InApp (World), принимаем.

5

Отлично, полдела сделано. Возвращаемся в кабинет разработчика Facebook, в наше приложение 7DAYS: InApp (World). Слева будет в меню идем в Instagram Basic Display - Basic Display

6

Находим блок User Token Generator. Дальше находим нашего подтвержденного тестера и напротив него нажимаем Generate Token. Дальше логинимся, все подтверждаем/авторизуем приложение.

7

В итоге будет показано окошко о том, что токен сгенерировался. Запоминаем его, поставив галочку показать токен целиком.

Заведение токена в админку

Заходим в админку сайта - Настройки - Настройки продукта - Настройки модулей - Библиотека классов - Instagram (вкладка)

Проставляем Имя канала, Токен (который получен на предыдущем шаге), Дата обновления (ставим дату создания/получения токена)

8

Выводим ленту на сайте

Тут уже написан компонент, который все делает как надо, просто вставляем вывод:

<? $APPLICATION->IncludeComponent(
    "ql:instagram",
    "main",
    Array(
        "USER_NAME" => 'my_7days',
        "CACHE_GROUPS" => "N",
        "CACHE_TIME" => "3600",
        "CACHE_TYPE" => "Y",
    )
); ?>

Поле USER_NAME соответственно меняем на имя канала Instagram.