modInstagram2 с использованием Basic Display API


Всем привет!

Обновление компонента для тех, кому надоели блокировки IP серверов Инстаграмом :)

Что нового/Особенности:
  • Используется официальное Instagram Basic Display API
  • Нужен только токен. Который, как оказалось, не так уж и сложно получить. Процесс получения подробно описан по шагам в документации.
  • Автоматическое продление токена (время жизни токена 60 дней)
  • Вывод неограниченного кол-ва постов
  • Выводятся посты только того аккаунта, для которого получен токен
  • Уменьшилось количество свойств поста (id, ссылка на пост, фото/видео, дата публикации, текст описания..) все поля описаны в документации
Актуальная документация в Modstore.

Купить компонент: modstore.pro/packages/photos-and-files/modinstagram2
Демо: demo.webone.pw/modinstagram/
Игорь Терентьев
17 июня 2020, 20:53
modx.pro
904
+13

Комментарии: 25

Андрей
18 июня 2020, 02:04
+1
Респект за обновление! Очень не хватало.
Илья Уткин
18 июня 2020, 08:37
+2
Процесс получения токена запутанный, но инструкция очень подробная и точная — всё заводится с первого раза)
Александр Мельник
19 июня 2020, 19:31
0
А расскажите пожалуйста, как происходит продление токена автоматическое?
Откуда вы черпали информацию, может ссылка?
Pavel
12 июля 2020, 11:30
0
Здравствуйте. Спасибо всё работает, помогите пожалуйста вывести миниатюру видео фала по моему шаблону.

<div class="col-md-3 col-sm-6 col-xs-12">
<div class="element relative">
<a class="absolute" href="{$permalink}" target="_blank" title="{$location_name} {$type}"></a>
<div class="img-wrapper">
<div class="hiddentitle">
<div class="table">
<div class="table-cell text-center">
<span><i class="fa fa-instagram" aria-hidden="true"></i> instagram</span>
</div>
</div>
</div>
<div class="article-img element-img">
<img class="lazy" [[pthumb? &input=`{$media_url}` &options=`h=400&w=400&zc=1&dims=1`]] alt="{$type}">
</div>
</div>
<div class="element-content">
<div class="title-h5 upper"><i class="fa fa-instagram" aria-hidden="true"></i>{$timestamp}</div>
<p class="f12">{$caption | strip : true | truncate : 100}</p>
</div>
</div>
</div>
    Игорь Терентьев
    13 июля 2020, 17:26
    0
    Здравствуйте, pthumb не поддерживает изображения с внешних сайтов — только локальные.
      Pavel
      13 июля 2020, 18:59
      0
      Здравствуйте. Спасибо за ответ, но у меня выводятся изображения постов инстаграмма нормально где размещены фото файлы, а вот видео пустое окошко — вот я и думал как то вывести миниатюру видеофайла.
        Игорь Терентьев
        13 июля 2020, 19:42
        0
        Плэйсхолдер не тот, для превью видео специальный: {$thumbnail_url}
        Отформатировать дату можно так: {$timestamp | date: 'd.m.Y'}
          Pavel
          13 июля 2020, 22:09
          0
          Спасибо большое. Сейчас сделал так
          <div class="article-img element-img">
          <img class="lazy" src="{$media_url}" alt="{$type}">
          <img class="lazy" src="{$thumbnail_url}" alt="{$type}">
          </div>
          вроде выводится но мне кажется это не совсем правильный вывод… за формат даты спасибо так действительно компактней )))
            Игорь Терентьев
            13 июля 2020, 22:30
            0
            Вот так будет переключаться в зависимости от типа поста:
            {switch $media_type}
                {case 'CAROUSEL_ALBUM'}
                    <img class="lazy" src="{$children.data.[0].media_url}" alt="{$type}">
                {case 'VIDEO'}
                    <img class="lazy" src="{$thumbnail_url}" alt="{$type}">
                {case default}
                    <img class="lazy" src="{$media_url}" alt="{$type}">
            {/switch}
              Pavel
              14 июля 2020, 11:53
              0
              Спасибо огромное всё работает как надо. Успехов вам!
    Александр
    16 июля 2020, 19:52
    0
    Добрый день, подскажите, а две ленты на два разных аккаунта получится так запустить? на одном сайте
      Игорь Терентьев
      17 июля 2020, 08:34
      0
      Добрый день, да, можно. Нужно будет в вызове сниппета указать разные токены и разный префикс кэша:
      {'!modInstagram2' | snippet : [
          'accessToken' => '123123123123123',
          'cachePrefix' => 'mod_ig',
      ]}
        Игорь Терентьев
        17 июля 2020, 11:59
        0
        Хотя нет, автоматическое продление токена не будет работать. Можете мне после покупки написать через поддержку modstore и скинуть доступы — я вам сделаю бесплатно.
      Игорь Терентьев
      17 июля 2020, 20:55
      0
      Всем привет! Выпустил версию 2.0.3 — исправил обновление токена. Обязательно к обновлению.
        Александр Мельник
        30 июля 2020, 11:56
        0
        Скажите, а как вы обходите вот эту штуку?

        Уже очень много месяцев горит надпись, что подтверждение приостановлено изза вируса, и не дает получить токен.
          Игорь Терентьев
          30 июля 2020, 12:31
          0
          Подтверждать не нужно, все работает в режиме разработки:
            Александр Мельник
            11 августа 2020, 12:11
            0
            Спасибо. Еще один глупый вопрос — а как боретесь с ограничением на количество обращений?
            Написано что есть ограничение в 240 обращений в час, что мне кажется совсем мало.
              Игорь Терентьев
              11 августа 2020, 12:26
              0
              Время жизни кэша указывается в параметре cacheTime. По-умолчанию 1800 (30 минут).
          varanika
          07 сентября 2020, 14:33
          0
          А изменений никаких новых не было у инстаграмма? А то отломился показ.
          Получили новый токен — на старом сайте не работает, создала тестовый на модхосте, поставила новый токен — та же фигня :(
          prntscr.com/ucz5x8
          ERROR @ /home/s23594/www/core/components/modinstagram2/model/modinstagram2.class.php: 79) PHP warning: DateTime::diff() expects parameter 1 to be DateTimeInterface, bool given
          ERROR @ /home/s23594/www/core/components/modinstagram2/model/modinstagram2.class.php: 64) modInstagram2 get ERROR: 400
            Игорь Терентьев
            07 сентября 2020, 17:59
            0
            Здравствуйте!
            Попробовал на modhost — работает.
            Обновитесь до последней версии и выполните по инструкции заново шаги 16-18 modstore.pro/packages/photos-and-files/modinstagram2
            В версии 2.0.3 была исправлена функция продления токена.
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            25