在基于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
我想知道是否有人可以帮助我......
答案 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>
的答案