Intereting Posts
Как продолжить тестирование инструментальных средств Android после исключения? Как выполнить веб-запрос в своем потоке? Каков наилучший способ загрузки 1000+ записей на сервер, который также содержит изображения для каждой записи из приложения iOS / Android? Как закрыть приложение в Android Studio-приложение, работающее на отдельном устройстве Как заставить производный класс вызвать супер метод? (Как и Android) Android: изменение цвета шрифта при нажатии Каков правильный способ связи с пользовательским представлением на активность, в которой он находится? Какой класс следует использовать для даты в Android? Как искать адрес по имени в Google Map Android Как дождаться завершения runOnUiThread Android? Как я могу общаться с Android-устройством через SSH? Использование JAXB с Google Android Измерение высоты текста на Canvas (Android) Фильтр ListAdapter, кроме использования строк? Как я могу заставить TextView автоматически прокручивать, добавляя больше строк текста?

Отмена авторизации Facebook не называется

У меня есть приложение для Facebook (игра в режиме разработки), потребляемая веб-клиентом (холст Facebook) и мобильным клиентом (приложение для Android). У меня также есть REST API (разработанный с Laravel), который позволяет обмены между клиентами и API Facebook. API доступен через Интернет (не локальный).

Моя цель – обнаружить, когда пользователи удаляют мое приложение Facebook.

Документация в Facebook гласит, что:

Люди могут удалять приложения через Facebook.com, не взаимодействуя с самим приложением. Чтобы помочь приложениям обнаружить, когда это произошло, мы разрешаем им предоставлять URL-адрес обратного вызова de-authorize, который будет пинговаться, когда это произойдет.

Вы можете активировать обратный вызов deauthorize через панель приложений. Просто зайдите в свое приложение, затем выберите меню «Настройки» и, наконец, вкладку «Дополнительно». Текстовое поле предоставляется для URL-адреса переадресации.

Всякий раз, когда пользователь вашего приложения отменяет его полномочия, этому URL-адресу будет отправлен HTTP-протокол POST, содержащий подписанный запрос. Ознакомьтесь с нашим руководством по анализу подписанного запроса, чтобы узнать, как его декодировать, чтобы узнать идентификатор пользователя, который вызвал обратный вызов.

Маршрут Laravel для этого URL-адреса принимает запросы GET и POST . Я знаю, что обратный вызов Facebook использует запрос POST , но прием метода GET позволяет мне использовать инструмент « Отлаживатель объектов Open Graph », чтобы проверить, доступен ли мой URL-адрес на серверах Facebook (и это успешно).

В настоящее время я использую самоподписанный сертификат SSL (AES 128) . Apache – это мой веб-сервер (он перенаправляет все HTTP-запросы на HTTPS).

Я знаю, как декодировать параметр POST с кодировкой signed_request (проблемы здесь нет).

Проблема:

Когда я удаляю приложение (с помощью тестовой учетной записи Facebook), обратный вызов никогда не вызывается . Журналы Apache (доступ / ошибка) абсолютно ничего не показывают (пока я вижу предыдущий доступ через Open Graph Object Debugger).

Я попытался изменить URL-адрес обратного вызова другим доменом с сертификатом SSL, предоставленным известным ЦС. Тот же результат … это очень расстраивает.

Я не понимаю, почему. Я что-то пропустил?

  • Это проблема с моим веб-сервером?
  • Это проблема с моим SSL-сертификатом?
  • Это проблема с моей настройкой приложения Facebook?
  • Это потому, что мое приложение для Facebook находится в режиме разработки?
  • Это ошибка в Facebook?

Введите описание изображения здесь

Solutions Collecting From Web of "Отмена авторизации Facebook не называется"

Из моего личного опыта уведомления в facebook не являются надежными. Я разработал несколько приложений, которые полагаются на обновления в реальном времени из facebook, и у меня возникли следующие проблемы:

  1. Обновления / обратные вызовы теряются
  2. Обновления, отправленные через несколько дней
  3. Когда facebook обновляет графическую версию api, некоторые из приложений работают, которые все еще находятся на старой версии, а те, которые вы переносите, не работают.

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

надеюсь, это поможет