gpt4 book ai didi

java - 我尝试使用 spring.io Social 访问 Facebook,但 isAuthorized() 方法失败

转载 作者:行者123 更新时间:2023-12-01 12:19:52 26 4
gpt4 key购买 nike

我正在尝试使用 https://spring.io/guides/gs/accessing-facebook/ 访问 Facebook .

我使用“导入 Spring 入门内容”在 Spring Tool Suite 中导入了应用程序。我可以使用“gradlew bootRun”和“gradlew build”运行应用程序。

我遇到的问题是:似乎在HelloController类中进行了测试

if (!facebook.isAuthorized()) 

不起作用。应用程序不会执行剩余的语句并返回“hello” View ,而是继续执行该语句

return "redirect:/connect/facebook"

就好像 .isAutorized() 方法失败一样。

但是,当我在同一网络浏览器中打开 www.facebook.com 时,我会看到我的(登录的)Facebook 主页。使用该应用程序登录 Facebook 似乎工作正常。请注意,在测试应用程序之前,我明确从 Facebook 注销。

请注意:

  • 我已在developer.facebook.com 中注册了该应用程序。
  • 我将 Facebook AppID 和 AppSecret 提交到 application.properties 文件中。
  • 我使用 Vitalwerks No-IP 在 Facebook 应用网站 URL 中提交了一个主机名.域。在我的路由器中,我将公共(public) IP 地址端口 80 映射到服务器的内部 IP 地址端口 8080。我可以使用 hostname.domain 访问该应用程序。

我做错了什么? Controller 类如下所示:

@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";
}

}

最佳答案

在 Facebook 应用程序高级设置中,我的应用程序被配置为“ native 或桌面应用程序”。这导致 OAuth 调用期间出现错误 400。

关于java - 我尝试使用 spring.io Social 访问 Facebook,但 isAuthorized() 方法失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26762544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com