Facebook登录后从会话中获取用户ID
Getting user Id from session after Facebook login
我正在使用 Codenameone,并集成了 Facebook 登录并且运行良好,好处是当我重新加载我的模拟器时,会话始终处于打开状态,我真正想做的是获取用户信息和将其保存在用户 table 的我的数据库中。
有没有教程或可以帮助我的东西。
谢谢。
private void showIfLoggedIn(UserForm form) {
String token = (String) Storage.getInstance().readObject("token");
FaceBookAccess.setToken(token);
final User me = new User();
try {
FaceBookAccess.getInstance().getUser("me", me, new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
String miNombre = me.getName();
String email = me.getEmail();
form.getContentPane().removeAll();
form.add(new Label(miNombre));
Button buttonLogout = new Button("Logout");
buttonLogout.addActionListener((e) -> {
facebookLogout(form);
showIfNotLoggedIn(form);
});
EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(50, 50, 0xffff0000), true);
URLImage background = URLImage.createToStorage(placeholder, "fbuser.jpg",
"https://graph.facebook.com/v2.11/me/picture?access_token=" + token);
background.fetch();
ScaleImageLabel myPic = new ScaleImageLabel();
myPic.setIcon(background);
form.add(myPic);
form.add(email);
form.add(buttonLogout);
form.revalidate();
}
});
} catch (IOException ex) {
ex.printStackTrace();
showIfNotLoggedIn(form);
}
}
FacebookAccess
中的代码已弃用,因为它太旧了。它早于原生 FacebookConnect
API。这里有这个示例:https://www.codenameone.com/blog/building-a-chat-app-with-codename-one-part-3.html
它包含使用图表 API 和令牌数据访问 facebook 的代码。这使用旧图 API 版本,因此您可能需要稍微更新语法,但要点保持不变。
我正在使用 Codenameone,并集成了 Facebook 登录并且运行良好,好处是当我重新加载我的模拟器时,会话始终处于打开状态,我真正想做的是获取用户信息和将其保存在用户 table 的我的数据库中。 有没有教程或可以帮助我的东西。 谢谢。
private void showIfLoggedIn(UserForm form) {
String token = (String) Storage.getInstance().readObject("token");
FaceBookAccess.setToken(token);
final User me = new User();
try {
FaceBookAccess.getInstance().getUser("me", me, new ActionListener() {
@Override
public void actionPerformed(ActionEvent evt) {
String miNombre = me.getName();
String email = me.getEmail();
form.getContentPane().removeAll();
form.add(new Label(miNombre));
Button buttonLogout = new Button("Logout");
buttonLogout.addActionListener((e) -> {
facebookLogout(form);
showIfNotLoggedIn(form);
});
EncodedImage placeholder = EncodedImage.createFromImage(Image.createImage(50, 50, 0xffff0000), true);
URLImage background = URLImage.createToStorage(placeholder, "fbuser.jpg",
"https://graph.facebook.com/v2.11/me/picture?access_token=" + token);
background.fetch();
ScaleImageLabel myPic = new ScaleImageLabel();
myPic.setIcon(background);
form.add(myPic);
form.add(email);
form.add(buttonLogout);
form.revalidate();
}
});
} catch (IOException ex) {
ex.printStackTrace();
showIfNotLoggedIn(form);
}
}
FacebookAccess
中的代码已弃用,因为它太旧了。它早于原生 FacebookConnect
API。这里有这个示例:https://www.codenameone.com/blog/building-a-chat-app-with-codename-one-part-3.html
它包含使用图表 API 和令牌数据访问 facebook 的代码。这使用旧图 API 版本,因此您可能需要稍微更新语法,但要点保持不变。