OGeek|极客世界-中国程序员成长平台

标题: java - Spring FacebookTemplate 引发用户配置文件的权限异常 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 09:30
标题: java - Spring FacebookTemplate 引发用户配置文件的权限异常

我无法使用在 iOS 客户端上从后端服务获得的 token 继续 OAuth session 。具体来说,它看起来是一个权限问题:

iOS客户端获取访问 token (ObjC/FB iOS SDK v3.24)

使用以下权限建立的 session :

[FBSession openActiveSessionWithReadPermissions[
                @"email",
                @"user_about_me",
                @"user_friends",
                @"user_birthday",
                @"public_profile" . . . 

完成后。 . .

FBSession *session = [FBSession activeSession];
NSString *accessToken = [session.accessTokenData accessToken];

访问 token 发送到后端(即 Spring Boot + Kotlin)

一个Spring FacebookTemplate使用上面得到的token实例化,如下:

@Test fun testFacebookTemplate()
{
    val facebook = FacebookTemplate("$$TOKEN_FROM_FACEBOOK_IOS_SDK$$")

    //Raises exception . . 
    val profile = facebook.userOperations().userProfile 
    println("rofile: " + profile)
}

iOS客户端建立的OAuth session 从后端成功继续,例如可以返回Facebook好友列表。但是,如上所示,尝试检索配置文件会引发错误:

Error from Facebook: {"error":{"message":"(#3) Application does not have the capability to make this API call." , "type":"OAuthException","code":3,"fbtrace_id":"B4C+eS3n2PW"}}
DEBUG o.s.s.f.a.impl.FacebookErrorHandler - Facebook error: 
DEBUG o.s.s.f.a.impl.FacebookErrorHandler -    CODE        : 3
DEBUG o.s.s.f.a.impl.FacebookErrorHandler -    TYPE        : OAuthException

问题:



Best Answer-推荐答案


在针对 Facebook Graph API v2.3 调用用户配置文件请求时,Spring 的 FacebookTemplate v2.0.2.RELEASE 似乎出现了一些权限相关的错误

作为一种变通方法使用:

val profile = facebook.fetchObject("me", User::class.java, 
    "id", "first_name", "last_name", "email");

关于java - Spring FacebookTemplate 引发用户配置文件的权限异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33302582/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4