Генерация "appsecret_proof" для restfb с помощью Scala

Я пытаюсь получить информацию о пользователе Facebook, используя restfb1.18.1 со Scala и Play 2.3

для тестирования я сгенерировал Access Token с помощью Graph API Explorer Теперь я использую следующий код для доступа к информации о пользователе

val MY_ACCESS_TOKEN = "abc"
    val  MY_APP_SECRET = "xyz"
    val facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN  ,MY_APP_SECRET )
    val fbuser = facebookClient.fetchObject("me",classOf[User])
    log.info("User first  name :{} ", fbuser.getFirstName)
    log.info("User last name : {}" , fbuser.getLastName)
    log.info("User Email : {}" , fbuser.getEmail)

но я сталкиваюсь с исключением здесь

> play.api.Application$$anon$1: Execution
> exception[[FacebookGraphException: Received Facebook error response of
> type GraphMethodException: Invalid appsecret_proof provided in the API
> argument (code 100, subcode null)]]

когда я пытаюсь сделать экземпляр FbClient без MY_APP_SECRET, как это

val facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN  )

он работает нормально, и я получаю информацию в ответ от Facebook

Я искал, но я не нашел ничего, чтобы генерировать appsecret_proof со скалой

пожалуйста, направь меня

1 ответ

Решение

Пожалуйста, убедитесь, что ваш токен доступа для правильного приложения в Graph API Explorer. Для меня было распространенной ошибкой генерировать токен для выбранного по умолчанию приложения. Если это так, ваш токен не соответствует вашему секрету, и это приводит к ошибке.

Также, если вы спросите в графическом обозревателе "/ me", он вернет вам только "id" и "name". Если вам нужна дополнительная информация, укажите, что именно вам нужно, например, "/ me? Fields = id, name, about, age_range"

Другие вопросы по тегам