我正在使用以下代码登录 Facebook。一旦我获得代码,我就可以使用它获取访问 token ,然后查询图形 api 并获取一些基本详细信息。
@RequestMapping(value = "/fblogin")
public String inititateFBlogin(ModelMap model) {
System.out.println("in FB login ");
String fbAuthURL = fbConnectionService.getFBAuthUrl();
return "redirect:"+fbAuthURL;
}
public String getFBAuthUrl() {
String fbLoginUrl = "";
try {
fbLoginUrl = "http://www.facebook.com/dialog/oauth?" + "client_id="
+ FBConnection.FB_APP_ID + "&redirect_uri="
+ URLEncoder.encode(FBConnection.REDIRECT_URI, "UTF-8")
+ "&scope=email";
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return fbLoginUrl;
}
但是要注销,我将按以下格式输入 URL。 //https://www.facebook.com/logout.php?next=[YourAppURL]&access_token=[ValidAccessToken]
@RequestMapping(value = "/fblogout", method=GET)
public String fbLogOut(ModelMap model) {
String fbLogoutURL = "https://www.facebook.com/logout.php?confirm=1&next=";
String appURL = "http://localhost:15005/abc";
String accessToken = accessTokenFB ;
String logOutURL = fbLogoutURL+appURL+"&access_token="+accessToken;
return "redirect:"+logOutURL;
}
但看起来上面的 FB 网址总是重定向到 FB 主页。 有什么方法可以让我通过java简单地调用任何FB服务来注销,我宁愿避免使用javascript SDK。 非常感谢。
最佳答案
您可以通过向/me/permissions 发送 DELETE(而不是 GET/POST)请求来注销访问 token
https://developers.facebook.com/docs/facebook-login/permissions/requesting-and-revoking https://developers.facebook.com/docs/graph-api/reference/user/permissions/
curl -X DELETE https://graph.facebook.com/me/permissions?access_token=ABC
关于java - 通过 java API 注销 Facebook 需要点击什么 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40832559/