Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring社交Facebook Tuturial错误_Java_Spring_Facebook_Spring Social - Fatal编程技术网

Java Spring社交Facebook Tuturial错误

Java Spring社交Facebook Tuturial错误,java,spring,facebook,spring-social,Java,Spring,Facebook,Spring Social,我试图按原样运行教程,但出现了此错误。我已经成功地在python应用程序中使用了相同的appid和密钥do登录。站点url是localhost:8080。有什么建议吗?任何帮助都将不胜感激 HelloController @Controller @RequestMapping("/") public class HelloController { private Facebook facebook; @Inject public HelloController(Fac

我试图按原样运行教程,但出现了此错误。我已经成功地在python应用程序中使用了相同的appid和密钥do登录。站点url是localhost:8080。有什么建议吗?任何帮助都将不胜感激

HelloController

@Controller
@RequestMapping("/")
public class HelloController {

    private Facebook facebook;

    @Inject
    public HelloController(Facebook facebook) {
        this.facebook = facebook;
    }

    @RequestMapping(method=RequestMethod.GET)
    public String helloFacebook(Model model) {
        if (!facebook.isAuthorized()) {
            return "redirect:/connect/facebook";
        }

        model.addAttribute(facebook.userOperations().getUserProfile());
        PagedList<Post> homeFeed = facebook.feedOperations().getHomeFeed();
        model.addAttribute("feed", homeFeed);

        return "hello";
    }

}

试试它的Spring3.x实现吧,你只需更改Facebook/Twitter
apisecret
回调
url和
范围
根据您在
应用程序中的要求。属性

问题是
Facebook
bean不可用,因为还没有连接。我稍微修改了HelloController,使其正常工作

@Controller
@RequestMapping("/")
public class HelloController {

    private Facebook facebook;
    private ConnectionRepository repository;

    @Inject
    public HelloController(Facebook facebook, ConnectionRepository repository) {
        this.facebook = facebook;
        this.repository = repository;
    }

    @RequestMapping(method=RequestMethod.GET)
    public String helloFacebook(Model model) {
        if (repository.findConnections("facebook").isEmpty() || !facebook.isAuthorized()) {
            return "redirect:/connect/facebook";
        }

        model.addAttribute("facebookProfile", facebook.userOperations().getUserProfile());
        PagedList<User> friends = facebook.friendOperations().getFriendProfiles();
        model.addAttribute("friends", friends);

        return "hello";
    }

}
@控制器
@请求映射(“/”)
公共类Hello控制器{
私人脸书;
私有连接存储库;
@注入
公共HelloController(Facebook、ConnectionRepository存储库){
this.facebook=facebook;
this.repository=存储库;
}
@RequestMapping(method=RequestMethod.GET)
公共字符串helloFacebook(模型){
if(repository.findConnections(“facebook”).isEmpty()| |!facebook.isAuthorized()){
返回“重定向:/connect/facebook”;
}
model.addAttribute(“facebookProfile”,facebook.userOperations().getUserProfile());
PagedList friends=facebook.friendOperations().getFriendProfiles();
model.addAttribute(“朋友”,朋友);
回复“你好”;
}
}

OTOH,教程会要求facebook提供不推荐的read_stream权限,因此之后您会遇到其他问题。这就是为什么我的代码列出的是朋友而不是主页提要。

您可以发布您的
HelloController.java
它在
上崩溃,如果(!facebook.isAuthorized())
行从我得到的调试器
方法抛出了“java.lang.NullPointerException”异常。无法评估com.sun.proxy.$Proxy42.toString()
@CESCO确保您正在运行JDK 1.8或更高版本作为示例状态扫描您如何定义
Facebook
bean?我正在使用spring 4和JDK 1.8。这里已经回答了这个问题[]。这是一个springbootmaven依赖性bug。它适用于1.2.3版本,但不适用于1.2.5或1.2.7版本,因为我的应用程序正在使用它。现在我正试图找到如何跨越它。我已经离开Java世界一段时间了,但我将尽快对它进行测试
@Controller
@RequestMapping("/")
public class HelloController {

    private Facebook facebook;
    private ConnectionRepository repository;

    @Inject
    public HelloController(Facebook facebook, ConnectionRepository repository) {
        this.facebook = facebook;
        this.repository = repository;
    }

    @RequestMapping(method=RequestMethod.GET)
    public String helloFacebook(Model model) {
        if (repository.findConnections("facebook").isEmpty() || !facebook.isAuthorized()) {
            return "redirect:/connect/facebook";
        }

        model.addAttribute("facebookProfile", facebook.userOperations().getUserProfile());
        PagedList<User> friends = facebook.friendOperations().getFriendProfiles();
        model.addAttribute("friends", friends);

        return "hello";
    }

}