6

Я использую Facebook SDK 4.2. Я реализовал интерфейс AccessTokenTracker, который работает, если токен изменен.Токен доступа Facebook изменен пользователем, Как получить обратный вызов для токена доступа?

Мой вопрос: если пользователь получил publish_permission для сообщения что-то из приложения для Android. Затем я удалю это разрешение из своей учетной записи Facebook. Теперь в приложении, маркер возвращения из

AccessToken accessToken = AccessToken.getCurrentAccessToken(); 

Этот маркер имеет publish_permission, но на Facebook разрешения сервера меняются. После удаления разрешения учетной записи Facebook для этого приложения. Я снова запускаю приложение. Затем я нажимаю на кнопку Отправить, а затем я получил ошибку

{FacebookGraphResponseException: (# 200) Требуется расширенное разрешение: publish_actions httpResponseCode: 403, facebookErrorCode: 200, facebookErrorType: OAuthException, сообщение: (# 200) Требуется расширенное разрешение : publish_actions}

Так как я могу проверить, что этот токен соответствует токену Facebook-сервера или нет.

ответ

2

Я не думаю, что вы можете активно «матч» маркер доступа к серверу, но вы можете использовать вызов

GET /debug_token?input_token={input-token}&access_token={access-token} 

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

  • input_token: маркер доступа вы хотите получить информацию о
  • access_token: ваш доступ приложения маркер или действительный маркер доступа пользователя от разработчика приложения

В результате JSON будет содержать data.scopes массив, содержащий фактические разрешения.

С другой стороны, и я думаю, что подходит для вашего Прецедент лучше, вы можете также использовать

GET /me/permissions?access_token={access_token} 

перед запуском доли, чтобы проверить, является ли publish_actions разрешение еще там. Кроме того, есть Ответный Отменить авторизацию механизм, который срабатывает, когда пользователи деинсталлировать приложение:

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

См

 Смежные вопросы

  • Нет связанных вопросов^_^