VK API неожиданно возвращает пустой ответ (Amazon)?
Добрый день!
Столкнулся с неожиданной ситуацией — есть написанный на PHP скрипт, работающий от лица некоторого пользователя (управление группами) через приложение, которому разрешен доступ — получен access_token со scope, включающим offline.
Неожиданно перестали работать безопасные методы api, например photos.getWallUploadServer — есть передавать token, получаем в ответ пустоту, если не передавать — соответственно ошибку доступа.
С локальной машины — api запросы с token возвращают нормальный ответ. Пробовал менять ip сервера — без результата.
Решено: поднял на сервере, на котором крутится скрипт туннель, через него попытался повызывать api из браузера — пустой ответ. Попытался зайти в ВК от пользователя, от имени которого работало приложение — ВК попросил подтвердить номер, ссылаясь на то, что я захожу из неизвестного источника. Подтвердил — api заработало.
Все это довольно странно — долгое время скрипт работал, ip не менялся и внезапно — security block.
Была такая же проблема, только я получал timeout, работая через сокеты. Проблема возникала где-то по пути между моим сервером и дата-центром ВК. traceroute не доходил, обрывался где-то посередине. Проверьте путь трассировки.
Вообще чтобы избежать таких проблем, есть selectel.