ПРОБЛЕМА: Используемые технические данные устарели
Иногда в процессе работы аккаунтов различные задачи могут завершаться с подобной формулировкой. Это связано с тем, что технические данные, которые сервер Instagram передаёт в сессии во время авторизации аккаунта могут терять свою актуальность. Следовательно, требуется их обновить.
Пример уведомления о неактуальности технических данных при попытке запустить задачу на подписку.
Другой пример подобного лога:
***
23.04.2018 23:48:53: Задача в режиме ожидания, старт через 1 секунд.
23.04.2018 23:48:55: Подготовка технических данных аккаунта для работы через Mobile Instagram API [OK]
23.04.2018 23:48:56: Синхронизация виртуального клиента с сервером Instagram [ERROR]:[Некритическая ошибка]
23.04.2018 23:48:58: Подготовка всего списка активных подписок для отписки [2861 - OK]
23.04.2018 23:48:59: Проверка Интернет-соединения [OK]
23.04.2018 23:49:00: Отписка от пользователя "*******_design" (******736) [ERROR]:[Используемые технические данные устарели, выполните полную инициализацию аккаунта]
23.04.2018 23:49:47: Время работы задачи 52 секунд.
23.04.2018 23:49:48: Операция отменена, успешно выполнено 0 отписок [OK]
23.04.2018 23:49:48: Общее время работы задачи 55 секунд.
***
Пример сообщения об устаревших технических данных при добавлении и/или быстром обновлении аккаунта.
Аналогичное сообщение может быть получено на этапе добавления аккаунта в программу или при быстром обновлени информации по аккаунту (со всеми галочками напротив пунктов контекстного меню "Обновить информацию"), после чего в главном окне программы индикатор в колонке "Состояние" горит красным, а вместо "Готов к работе" присутствует поментка "N/A", как показано на скриншоте ниже.
Пример аккаунта с устаревшими техническими данными, который не прошёл процедуру быстрого обновления.
Больше информации об обозначениях и выделениях можно получить из этой статьи.
Все эти и аналогичные случаи указывают на одно - на проблему с техническими данными, которые были получены от Instagram из сессии после успешной авторизации или после успешного прохождения запроса на верификацию.
Решается эта проблема в большинстве случаев очень просто.
1. Через полную повторную инициализацию аккаунта. Об этом и других режимах обновления рассказывается в контексте этой статьи. Полная повторная инциализация делается следующим образом. В контекстном меню кнопки "Обновить информацию" нужно снять отметки в пунктах "Не обновлять технические данные для Mobile Instagram API", а также в пункте "Выполнять переавторизацию после успешной верификации".
Подготовка к полной повторной инициализации Instagram-аккаунта или группы Instagram-аккаунтов.
После этого нужно нажать на кнопку "Обновить информацию".
Если никаких запросов на верификацию от Instagram программа не обнаружит в ходе полной повторной инициализации, то аккаунт успешно обновится и в колонке "Состояние" появится индикатор в виде зелёного круга с цветным логотипом Instagram и записью "Готов к работе".
Если программа обнаружит какой-либо запрос на верификацию и успешно пройдёт его на версии API старше 10.3.2 с использованием Mobile Instagram API (по умолчанию отметка в пункте "Во время верификации использовать Mobile Instagram API" всегда установлена), то в колонке "Состояние" также появится индикатор в виде зелёного круга с цветным логотипом Instagram и записью "Готов к работе". Этот способ позволяет быстро и просто обойти проблему циклической верификации, которую до версии SocialKit 2.1.0 приходилось решать более сложным образом.
Как изменить версию Mobile Instagram API по умолчанию показано на скриншоте ниже. Нужно перейти на закладку "Настройки", далее на подзакладку "Эксперт" и изменить значение в поле "Приоритет эмуляции".
Изменение версии Mobile Instagram API, что использует по умолчанию во время работы Instagram-аккаунтов.
Если в ходе инициализации будут обнаружены запросы на верификацию, то в случае успешного их прохождения в колонке "Состояние" может появиться индикатор в виде зеленого круга без логотипа Instagram. Это говорит о том, что программа не уверена в трастовости полученной от Instagram сессии и нужно ещё раз выполнить полную повторную инициализацию, т.е. ещё раз нажать кнопку "Обновить информацию" с теми же настройками. Если после этого инициализация прошла уже без обхода каких-либо запросов на верификацию от Instagram, то в колонке "Состояние" появится зеленый круг с цветным логотипом Instagram. В противном случае смотрите пункт 2 ниже.
2. Через полную повторную инициализацию аккаунта с обходом циклической верификации. О проблеме циклической верификации и о способах её обхода детально рассказывается в контексте этой статьи. Для последующей полноценной работы с Instagram-аккаунтом мы рекомендуем воспользоваться в ней "Кейсом 2".
Если не добиваться получения трастовой сессии от Instagram с последующим извлечением и фиксацией, соответственно, трастовых технических данных из неё, то запуск большинства задач через Mobile Instagram API на таком аккаунте будет приводить к остановке с искомой записью в логе, как было показано выше. Некоторые задачи на сбор смогут работать через Mobile Instagram API. Также смогут работать некоторые задачи, поддерживающие работы через Web Instagram API, о чем также рассказывается в статье о циклических верификациях.
ВАЖНО! Обратите внимание на то, что некоторые адреса электронной почты, что сопоставлены с Instagram-аккаунтами могут быть не в инициализированном состоянии. Если в ходе обхода запросов на верификацию от Instagram вы столкнётесь с тем, что программа не может подключиться к тому или иному почтовому ящику, чтобы автоматически находить и распознавать письма от Instagram, то вам нужно снять отметку в поле "Не выполнять предварительную инициализацию E-Mail'ов". По умолчанию предварительная инициализация E-Mail'ов отключена для экономии трафика. Также учтите, что почтовым ящикам на серверах Rambler и Google нужно давать дополнительные разрешения для работы с ними из стороннего ПО. Более подробно об этом читайте здесь.
3. Через генерацию новых технических данных с последующей повторной инициализацией. Возможна ещё одна ситуация, при которой программа указывает в логах на то, что технические данные устарели и нужна повторная инициализация. Вы её делаете, аккаунт проходит инициализацию, в колонке "Состояние" появляется зеленый кружок с цветным логотипом Instagram, но сразу после запуска задачи аккаунт завершается всё с той же формулировкой о необходимости выполнить повторную инициализацию из-за устаревших данных или с формулировкой, похожей на эту:
***
05.12.2018 22:19:49: Добавление задания "Подписка по списку пользователей" в очередь [OK]
05.12.2018 22:19:49: Подготовка базового игнор-листа...
05.12.2018 22:19:49: Инициализация базового игнор-листа [OK]
05.12.2018 22:19:49: Подготовка служебных данных [OK]
05.12.2018 22:19:49: Задача в режиме ожидания, старт через 1 секунд.
05.12.2018 22:19:51: Подготовка технических данных аккаунта для работы через Mobile Instagram API [OK]
05.12.2018 22:19:54: Синхронизация виртуального клиента с сервером Instagram [ERROR]:[Некритическая ошибка]
05.12.2018 22:19:54: Проверка Интернет-соединения [OK]
05.12.2018 22:19:55: Получение ленты аккаунта "boxingvineskz" (1002090154) [ERROR]
05.12.2018 22:19:55: Произошла ошибка при получении медиа из ленты аккаунта "boxingvineskz" (1002090154).
05.12.2018 22:19:55: Ответ от сервера: {"message": "login_required", "logout_reason": 2, "status": "fail"}
05.12.2018 22:19:55: Перевод задачи в режим ожидания на 1 минуту.
05.12.2018 22:20:32: Повторная попытка (2) получить перечень медиа...
***
Такое может произойти только в тех случаях, когда за аккаунтом закреплены какие-то технические данные как статичные и для них Instagram выдаёт подобного рода проблему на регулярной основе. Это больше похоже не на ограничительные меры, а, скорее, просто на очередную ошибку в логике работы сервера.
Для решения проблемы нужно сначала выставить настройки для функции инициализации (контекстное меню кнопки "Обновить информацию"), как показано на скриншоте в п1 выше, а после перейти в "Редактор технических данных" и перегенерировать для "проблемного" Instagram-аккаунта все технические данные, что установлены как статичные.
Перегенерация технических данных устройства у Instagram-аккаунта.
Больше ничего менять не нужно. После нажатия на кнопку "Сохранить" Instagram-аккаунт начнёт проходить повторную инициализацию так, как будто вы вошли в него с нового мобильного устройства. Вполне возможно, что Instagram запросит E-Mail или SMS-верификацию - будьте готовы к этому, убедитесь предварительно, что у вас есть доступ к, связанному с аккаунтом, E-Mail'у и мобильному телефону.
ВАЖНО! Особое внимание обратите на связь Instagram-аккаунта с номером мобильного телефона. Иногда Instagram запрашивает верификацию таким образом, что нет возможности ввести другой номер телефона. Он просто отправляет код на, связанный с Instagram-аккаунтом, номер и ожидает ввода кода из SMS. Если у вас нет доступа к, связанному с аккаунтом, номеру телефона, то просто удалите эту связь через "Редактор профилей". Это позволит вам защитить свой аккаунт от такой "ловушки", что чревато полной потерей доступа к аккаунту.
ВОПРОСЫ
- Почему не приходит код на почту при инициализации? Почта рабочая, другие письма на неё приходят. Предварительную инициализацию E-Mail'ов, как сказано выше делаю - не помогает.
Такое бывает, если аккаунт регистрировался на не до конца проинициализированную почту и самое первое письмо от Instagram, подтверждающее регистрацию в сервисе, доставлено не было. В этом случае может помочь "оживление почты" через сброс ссылки на изменение пароля от аккаунта. В деталях данный процесс описан в контексте этой статьи.
Сервис поддержки клиентов работает на платформе UserEcho