使用 Scala 为 restfb 生成 "appsecret_proof"

Generating "appsecret_proof" for restfb with Scala

我正在尝试使用 restfb 1.18.1 和 Scala and Play 2.3

获取 Facebook 用户信息

为了测试,我使用 Graph API Explorer 生成了 Access Token 现在我正在使用以下代码访问用户信息

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: Execution
> exception[[FacebookGraphException: Received Facebook error response of
> type GraphMethodException: Invalid appsecret_proof provided in the API
> argument (code 100, subcode null)]]

当我尝试在没有 MY_APP_SECRET 的情况下创建 FbClient 实例时

val facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN  )

它运行良好,我从 facebook 得到响应信息

我已经搜索过了,但我没有找到任何可以用 scala appsecret_proof 生成的东西

请指导我

请确保您为 Graph API Explorer 中的正确应用程序生成的访问令牌。为那里选择的默认应用程序生成令牌对我来说是一个常见的错误。如果是这种情况,您的令牌与您的秘密不匹配,这会导致错误。

此外,如果您向 Graph Explorer 询问“/me”,它会 return 您也只会 "id" 和 "name"。如果您需要其他信息,请指定您确切需要的信息,例如“/me?fields=id,name,about,age_range”