我正在尝试使用Scala和Play 2.3使用restfb
1.18.1
获取Facebook用户信息
进行测试我使用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)]]
当我尝试制作没有MY_APP_SECRET的FbClient实例时
val facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN )
它运行正常,我收到来自facebook
的回复信息我已经搜索过但我没有找到任何可以使用scala
生成appsecret_proof
的内容
请指导我
答案 0 :(得分:1)
请确保您在Graph API资源管理器中使用适用于正确应用程序的启动访问令牌。对我来说,为那里选择的默认应用程序生成令牌是一个常见的错误。如果是这种情况,您的令牌与您的秘密不符,这会导致错误。
另外,如果您向图表浏览器询问" / me"它只会让你回归" id"和"名称"同样。如果您想要其他信息,请说明您需要什么,例如" / me?fields = id,name,about,age_range"