Получение идентификатора пользователя из сессии после входа в Facebook - PullRequest
0 голосов
/ 28 апреля 2019

Я работаю с Codenameone и интегрировал вход в Facebook и работал так хорошо, хорошо, что когда я перезагружаю свой эмулятор, сессия всегда включена, что я действительно хочу сделать, это получить информацию о пользователе и сохранить еев моей базе данных в таблице пользователя.Есть ли учебник или что-то, что может мне помочь.Спасибо.

 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);
            }
    }

1 Ответ

0 голосов
/ 29 апреля 2019

Код в FacebookAccess устарел, так как он довольно старый.Это предшествовало нативному FacebookConnect API.Вот этот пример: https://www.codenameone.com/blog/building-a-chat-app-with-codename-one-part-3.html

Включает код для доступа к Facebook с помощью API Graph и данные токена.При этом используется старая версия API графа, поэтому вам может потребоваться немного обновить синтаксис, но суть остается прежней.

...