spring-boot我可以使用FacebookAuthenticationService连接apiKey和appSecret吗?

时间:2016-02-24 20:23:32

标签: facebook spring-boot

在基于spring-boot的应用程序中,我会让facebook用户朋友使用apiKey和appSecret来连接和facebook用户ID来识别用户(没有用户访问令牌)。

我知道通过facebook api graph我可以使用facebook api endpoint / {user-id} / friends来获取用户好友列表,我可以使用app令牌代替用户访问令牌。

我试图像这样实现Facebook:

import org.springframework.social.facebook.api.Facebook;
import org.springframework.social.facebook.security.FacebookAuthenticationService;
...
Facebook facebook = new FacebookAuthenticationService(apiKey, appSecret);

但是当我在我的代码中包含这一行时,我得到了这个编译错误:

无法解析org.springframework.social.security.provider.OAuth2AuthenticationService类型。它是从所需的.class文件间接引用的

在FacebookAuthenticationService.class中有导入

import org.springframework.social.security.provider.OAuth2AuthenticationService;

在构建路径中不存在....我找不到

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-social-security</artifactId>

喜欢not spring-boot

<groupId>org.springframework.social</groupId>
<artifactId>spring-social-security</artifactId>

但我无法包含第二个因素,因为我会在实例化时遇到不同的错误

        Facebook facebook = new FacebookAuthenticationService(apiKey, appSecret);

错误是:

类型不匹配:无法从FacebookAuthenticationService转换为Facebook

我想知道是否有人可以帮助我......

1 个答案:

答案 0 :(得分:1)

据我了解您的问题,您的连接方式不需要OAuth。 您希望服务器使用您已有的凭据连接到Facebook,对吗? 比你必须使用FacebookTemplate连接。 我在一个项目中这样做,我只有

<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.social</groupId>
        <artifactId>spring-social-facebook</artifactId>
    </dependency>

另见stackoverflow 35535091

的答案