我正在尝试使用https://spring.io/guides/gs/accessing-facebook/访问Facebook。
我使用“导入Spring入门内容”在Spring Tool Suite中导入了该应用程序。我可以使用“gradlew bootRun”运行应用程序,也可以使用“gradlew build”。
我遇到的问题是:似乎在HelloController类中测试
if (!facebook.isAuthorized())
不起作用。应用程序继续执行语句
,而不是执行其余语句并返回“hello”视图return "redirect:/connect/facebook"
好像.isAutorized()方法失败了。
然而,当我在同一个webbrowser www.facebook.com上打开时,我的Facebook(登录)Facebook主页。使用该应用程序登录Facebook似乎正常工作。请注意,在我测试应用程序之前,我明确地从Facebook注销。
请注意:
我做错了什么?控制器类看起来像这样:
@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";
}
}
答案 0 :(得分:1)
在Facebook Apps高级设置中,我的应用程序被配置为“本机或桌面应用程序”。这导致OAuth调用期间出现错误400。