12

Android アプリケーションに Facebook ログインを統合しました。ログインユーザーのメールIDを取得したい。どうすれば入手できますか?

private void loginToFacebook() {
    Session.openActiveSession(this, true, new Session.StatusCallback() {

        @Override
        public void call(Session session, SessionState state, Exception exception) {
            if (session.isOpened()) {
                Log.i(TAG, "Access Token" + session.getAccessToken());
                Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
                    @Override
                    public void onCompleted(GraphUser user, Response response) {
                        if (user != null) {
                            try {

                                 userID =user.getId();
                                 provider="facebook";
                                 userName=user.getUsername();
                                 firstName=user.getFirstName();
                                 lastName=user.getLastName();
                                 Log.d("****User****", "details:" + user);
                                 }catch(Exception e){

これが私のコードです。メソッドを使用し Request.GraphUserCallback()ていますが、このメソッドからのメールの応答がありません。

4

3 に答える 3

3

Egor N の提案に従って、古いコードを変更します

Session.openActiveSession(this, true, statusCallback);

この新しいもの:

List<String> permissions = new ArrayList<String>();
permissions.add("email");
Session.openActiveSession(this, true, permissions, statusCallback);

これで、FB がユーザーに電子メールの許可について尋ねると、応答でそれを読むことができます。

于 2014-08-21T23:58:38.060 に答える
-1

この記事を試してみてください。あなたの問題が解決されることを願っていますここをクリック

user.asMap().get("email").toString());ところで、ユーザーの電子メール ID を受信するために使用する必要があります。lblEmail.setTextまた、 lblEmail が Textview であるようなラベルの一部にそれを割り当てる必要があります。

于 2013-07-12T07:13:02.943 に答える