点击哪个URL通过JavaAPI从Facebook注销?
我正在使用下面的代码登录Facebook。一旦我得到了代码,使用它我就得到了访问令牌,然后查询GraphAPI并获得一些基本细节点击哪个URL通过JavaAPI从Facebook注销?,java,facebook,facebook-graph-api,web,Java,Facebook,Facebook Graph Api,Web,我正在使用下面的代码登录Facebook。一旦我得到了代码,使用它我就得到了访问令牌,然后查询GraphAPI并获得一些基本细节 @RequestMapping(value = "/fblogin") public String inititateFBlogin(ModelMap model) { System.out.println("in FB login "); String fbAuthURL = fbConnectio
@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。
//
但看起来上面的FB url总是重定向到FB主页。
是否有任何方法可以通过java调用任何FB服务来注销,我宁愿避免使用javascript SDK。
非常感谢。您可以通过向/me/permissions发送删除(而不是GET/POST)请求来注销访问令牌
谢谢Yuri的回答:)嗨,Yuri,我正在撤销token的权限,但是在第二次登录时,前一个用户已经存在,它只要求我继续。从FB文档中——注销某人与撤销登录权限(删除先前授予的身份验证)不同,--我需要做其他事情吗,知道吗?删除将停止该令牌的工作。如果你代表一个用户在移动应用程序或服务器中运行,我知道你正试图这么做。我想我错过了一些更广泛的背景。嗨,Yuri,我是通过web服务器登录的,虽然我的DELTE请求成功(http 200),但我想权限被撤销了。但第二次登录时,不知何故,该用户的信息已经存在,并弹出一个对话框“继续/取消”。用于登录的URL是。。。。。。。。。这样好吗?
@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;
}
curl -X DELETE https://graph.facebook.com/me/permissions?access_token=ABC