Новая версия modInstagram, теперь без токена!



Скоро выйдет еще одно большое обновление компонента с прокси и авторизацией по логину/паролю (для тех, у кого IP сервера в черном списке Instagram).

Всем привет!

Наконец появилось время заняться компонентом. Еще с 15 октября 2019 Instagram перестал выдавать токены для устаревшего API www.instagram.com/developer/. В связи с чем пришлось искать другие способы получения постов и решено было выдергивать json, который можно достать с любой публичной страницы.

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

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

Буду рад советам/пожеланиям/pull request'ам

Новая версия уже в modstore: https://modstore.pro/packages/photos-and-files/modinstagram
Демо: https://demo.webone.pw/modinstagram/#result
Github: https://github.com/ig0r74/modInstagram/
Игорь Терентьев
21 января 2020, 21:27
modx.pro
2
969
+15

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

Александр Мельник
21 января 2020, 21:54
+1
При клике на ссылке в конце поста у меня происходит что-то странное.
Сначала открывается текст поста в модальном окне, а после его закрытия я возвращаюсь на страницу, но текст поста отсутствует.
Spirit_Ninja
23 января 2020, 13:53
+1
Ура, наконец-то! Буду тестить.
    Максим
    24 января 2020, 07:23
    0
    Чет не работает у меня без токена. ;(

    Логи пишут.
    modInstagram error: HTTP/1.1 302 Found

    В чем может быть проблема?
      Игорь Терентьев
      24 января 2020, 08:24
      0
      У пользователя публичная страница? Скиньте логин.
        Максим
        24 января 2020, 08:27
        0
        Хороший вопрос. А как узнать?
        Логин — forlikeru
          Игорь Терентьев
          24 января 2020, 08:36
          0
          Публичный. Чтобы узнать, можно в режиме инкогнито открыть страницу.
          Можешь скинуть доступы в лс?
      Игорь Терентьев
      25 января 2020, 09:34
      0
      Если у вас появляется такая же ошибка, значит ваш ip в черном списке instagram и с него нельзя открыть страницу. Позже добавлю возможность использования прокси, но они тоже могут со временем блокироваться.
        Здоров Александр
        29 января 2020, 15:18
        0
        словили схожую проблему с хостинга beget — в логах ошибок: modInstagram error: HTTP/1.1 302 Found
          Игорь Терентьев
          29 января 2020, 18:05
          0
          Скоро выйдет еще одно большое обновление компонента с прокси и авторизацией по логину/паролю (для тех, у кого IP сервера в черном списке Instagram).

          Могу скинуть alpha-версию.
            Сергей
            02 февраля 2020, 14:56
            0
            Было бы интересно посмотреть, только если можно, то сделайте пожалуйста что бы демо работало) Сейчас не работает.
              Игорь Терентьев
              02 февраля 2020, 15:39
              0
              Спасибо, поправил!
              Здесь можно посмотреть работу без токена: demo.webone.pw/modinstagram/scraper/
              Здесь с токеном: demo.webone.pw/modinstagram/
                Андрей
                12 февраля 2020, 16:22
                0
                Добрый день, есть 2 сайта.
                На первом все работает прекрасно, на втором ничего не выводится (в логах 302 ошибка, что писали выше) Хостинг разный.
                Есть ли решение данной проблемы?
                  Андрей
                  13 февраля 2020, 15:27
                  0
                  P.S. Проблему решил. В общем сделал на сайте ssl и сделал token
    Александр
    10 февраля 2020, 15:50
    0
    Добрый день, подскажите, после вызова сниппета сайт ложится с 503 ошибкой. Использую вариант без токена.
    В логах ошибка: PHP warning: file_get_contents(https://www.instagram.com/тут аккаунт/): failed to open stream: Время ожидания соединения истекло.
    [2020-02-10 15:48:53] modInstagram error:

    Аккаунт публичный и общедоступен. в чем может быть дело?
    Sergey
    26 февраля 2020, 22:49
    1
    0
    Доброго времени суток не пойму но почему то без Fenom, через стандартный вывод чанков ничего не отображает ??
    Что нужно указать в настройках если подключения без токена?

    [[!modInstagram?
    &accessToken=`false`
    &username=`beautyschool42`
    &cachePrefix=`inst`
    &cacheTime=`86400`
    &showLog=`true`
    &limit=`12`
    ]]
      Игорь Терентьев
      28 февраля 2020, 12:57
      0
      Добрый день, смотрите журнал ошибок MODX.
        Sergey
        28 февраля 2020, 13:27
        0
        Вот что в логах
        [2020-02-28 13:25:19] (ERROR in modMenu::getSubMenus @ /home/w/webservis/academy-hairdresser/public_html/core/model/modx/modmenu.class.php: 145) modAction support is deprecated since version 2.3.0. Support for modAction has been replaced with routing based on a namespace and action name. Please update the extra with the namespace moddevtools to the routing based system.

        [2020-02-28 13:25:48] (ERROR @ /home/w/webservis/academy-hairdresser/public_html/core/cache/includes/elements/modsnippet/48.include.cache.php: 51) modInstagram error: HTTP/1.1 302 Found
          Игорь Терентьев
          28 февраля 2020, 14:51
          0
          IP сервера заблокирован. В последней версии можно это обойти, если авторизоваться по логину/паролю.
            Sergey
            28 февраля 2020, 20:49
            0
            [[!modInstagram?
            &username=`beautyschool**`
            &password=`**************`
            &limit=`12`
            ]]

            К сожалению ошибка таже [2020-02-28 20:47:00] (ERROR @ /home/w/webservis/academy-hairdresser/public_html/core/cache/includes/elements/modsnippet/48.include.cache.php: 51) modInstagram error: HTTP/1.1 302 Found
              Sergey
              01 марта 2020, 12:44
              0
              Поменял настройки на эти
              [[!modInstagram?
              &limit=`12`
              &accessToken=`false`
              &miUsername=`beautyschool**`
              &miPassword=`**********`
              &cachePrefix=`inst`
              &cacheTime=`86400`
              &showLog=`true`
              ]]

              Теперь в консоли:
              [2020-03-01 12:42:29] (ERROR @ /home/w/webservis/academy-hairdresser/public_html/core/components/modinstagram/model/modinstagram.class.php: 105) modInstagram Scraper error: InstagramScraper\Exception\InstagramAuthException 'Something went wrong. Please report issue.' (code: 400) in /home/w/webservis/academy-hairdresser/public_html/core/components/modinstagram/vendor/raiym/instagram-php-scraper/src/InstagramScraper/Instagram.php(1460)
        Станислав
        15 марта 2020, 21:17
        0
        та же ошибка, перестал работать инстаграм
          Pavel
          13 мая 2020, 19:52
          0
          Тоже к сожалению не работает, в консоли множественные ошибки. Предыдущая версия работает исправно.
            Александр Мельник
            15 мая 2020, 11:19
            0
            Возможно разработчикам поможет эта информация.
            Насколько я понимаю, компонент использует библиотеку github.com/postaddictme/instagram-php-scraper
            Так вот сегодня опытным путем выяснил, что ее работоспособность зависит от сервера.
            На одном из серверов где сейчас разрабатывается сайт, любое обращение к методам этого класса приводит к ошибкам и выбросам исключение.
            Типа такого

            Но этот же самый код, запущенный локально на моем компьютере — работает отлично.
            А также на другом сервере запустил тот же самый код — также работает прекрасно.
            Сказать, почему так — не могу. Можно было бы грешить на то что разные сервера имеют разные настройки и прочее, но ведь установка этой библиотеки происходит через composer и он проверяет зависимости. К примеру локально он не дал мне установить instagram-php-scraper, пока я не установил curl как модуль для php.
            И тем не менее — работоспособность программы сильно зависит от того, где она запущена.
              Игорь Терентьев
              15 мая 2020, 13:52
              0
              Привет. Если не работает, значит IP сервера в черном списке инстаграма.
              Писал об этом выше или в этой ветке: modx.pro/components/19745
              В системных настройках можно указать прокси.
              Роман
              15 мая 2020, 17:40
              0
              Вчера настроил вывод, всё работало по логину + паролю, сегодня же ничего не выводится…
              Вывод:
              [[!modInstagram?
              &limit=`6`
              &miUsername=`******`
              &miPassword=`******`
              &cachePrefix=`inst`
              &cacheTime=`86400`
              ]]

              В системных настройках указан прокси, прокси рабочий. В логах:

              [2020-05-15 17:36:16] (ERROR @ ***********/components/modinstagram/model/modinstagram.class.php: 106) modInstagram Scraper error: InstagramScraper\Exception\InstagramAuthException 'Response code is 400. Body: Bad request Something went wrong. Please report issue.' (code: 400) in ***********/components/modinstagram/vendor/raiym/instagram-php-scraper/src/InstagramScraper/Instagram.php(1472)

              Как быть?(
                Роман
                15 мая 2020, 17:55
                0
                *Вчера работало без прокси.
                  Роман
                  15 мая 2020, 22:50
                  0
                  Убрал прокси, убрал логин и пароль из системных настроек, вывел:

                  [[!modInstagram?
                  &limit=`6`
                  &accessToken=`false`
                  &username=`******`
                  &password=`******`
                  &cachePrefix=`inst`
                  &cacheTime=`1`
                  ]]

                  Получилось, через $miUsername и $miPassword не выводило.

                  Спасибо за плагин!
                Роман
                18 мая 2020, 17:14
                0
                Сегодня опять всё слетело, танцы с бубном (системные настройки с прокси и без; без системных настроек) не помогают.
                  Сергей
                  30 мая 2020, 13:25
                  0
                  Добрый день, есть ли надежда, что компонент заработает? у меня клиент не понимает что что то может не работать и хочет вернуть инст на сайт
                    Александр
                    02 июня 2020, 10:28
                    0
                    Короче, я думал у меня такая ерунда. Оказывается нет. Вообще, я надеялся что Scraper — это решение «всех проблем» доступа к Инсте. Но нет. Сколько себя помню, всегда такая ерунда происходит. Более менее надежно работает access token и то не факт. Инста очень привередливая херня, которая не любит отдавать данные налево и направо. Думаю надо идти в сторону сохранения постов в бд через какие-нибудь платные прокси. Не знаю.
                      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                      35