Подписка на Instagram – Не удается получить URL-адрес обратного вызова

У меня возникают проблемы при попытке оформить подписку на Instagram. Я создал функциональный сервлет, который обрабатывает POST и GET, как указано в инструкциях в Instagram.

При попытке:

curl -F 'client_id=XXXXXX' -F 'client_secret=YYYYYY' -F 'object=location' -F 'aspect=media' -F 'object_id=18945195' -F 'verify_token=12345' -F 'callback_url=http://54.77.253.34/instagram/InstagramServlet'      https://api.instagram.com/v1/subscriptions

он возвращается

{"meta":{"error_type":"APISubscriptionError","code":400,"error_message":"Unable to reach callback URL \"http:\/\/54.77.253.34\/instagram\/InstagramServlet\"."}}

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

http://54.77.253.34/instagram/InstagramServlet?hub.challenge=somethinghere

кажется, он возвращает hub.challenge правильно.

Есть идеи, почему? Большое спасибо!


person sofia    schedule 08.09.2015    source источник
comment
Я не понимаю точно, что ответить на это тогда. Я проверил предоставленную вами ссылку и не вижу любой прямой ответ   -  person sofia    schedule 09.09.2015


Ответы (1)


Хотя я не нашел ответа на этот вопрос, я нашел альтернативный способ получить подписку через Консоль API Instagram.

Вам нужно поставить

  • В запросе verify_token, client_id, client_secret
  • В теле внутри текста что-то вроде этого (или эквивалент для вашей подписки): aspect=media;callback_url=http://54.77.253.34/instagram/InstagramServlet;object=location;object_id=18945195;

Я получил hub.challenge=**** в своих журналах tomcat и поэтому подтвердил, что подписка была сделана.

Тем не менее, понятия не имею, почему он не работает через curl.

person sofia    schedule 09.09.2015
comment
Это все еще работает для вас? У меня те же проблемы при подписке на теги, поэтому я попытался использовать консоль API Instagram, как и вы.. но я получаю ту же ошибку. Не удается получить URL-адрес обратного вызова.... - person GameDroids; 02.10.2015
comment
Консоль Instagram у меня работает примерно в одном из трех случаев. Но мне наконец удается зарегистрировать свою подписку. Но убедитесь, что ваш URL-адрес обратного вызова доступен и реализует PUT и GET, а также что GET возвращает правильный ответ, как указано на странице Instagram API. - person sofia; 02.10.2015
comment
У меня также были некоторые проблемы при попытке использовать URL-адрес обратного вызова, который ссылался на хост, который перенаправлялся на мой локальный сервлет. Это перенаправление не понравилось Instagram, и почему-то я даже не получил первое подтверждение GET. - person sofia; 02.10.2015
comment
Спасибо за подсказку с PUT. Мой сервлет поддерживает только GET и POST — я посмотрю на него подробнее. Также я заметил, что видимо во время тестирования я выставил себя подозрительным и Instagram заблокировал IP моего сервера (который имеет статический IP). После приобретения нового IP по крайней мере подписки снова заработали. - person GameDroids; 03.10.2015
comment
Извините, я имел в виду POST и GET, а не PUT. - person sofia; 04.10.2015