Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在facebook sdk集成中获取空电子邮件地址_Android_Email_Null_Facebook Sdk 3.0 - Fatal编程技术网

Android 在facebook sdk集成中获取空电子邮件地址

Android 在facebook sdk集成中获取空电子邮件地址,android,email,null,facebook-sdk-3.0,Android,Email,Null,Facebook Sdk 3.0,使用FacebookSDK 3.0版&以下是我的代码。我每次都会获取id和name值,但电子邮件地址为空 authButton.setReadPermissions(Arrays.asList("basic_info","email")); // session state call back event authButton.setSessionStatusCallback(new

使用FacebookSDK 3.0版&以下是我的代码。我每次都会获取id和name值,但电子邮件地址为空

 authButton.setReadPermissions(Arrays.asList("basic_info","email"));
              // session state call back event
              authButton.setSessionStatusCallback(new 
                                Session.StatusCallback() {

       @Override
       public void call(Session session, 
                        SessionState state, 
                        Exception exception) {

            if (session.isOpened()) {
                 Log.i(TAG,"Access Token"+ session.getAccessToken());
                   Request.newMeRequest(session,
                       new Request.GraphUserCallback() {
              @Override
              public void onCompleted(GraphUser user,Response response) {
               if (user != null) {               
                   Log.i(TAG,"User ID "+ user.getId());
                   Log.i(TAG,"Email "+ user.asMap().get("email"));
                     }
                    }
                  }).executeAsync();
               }
              }
         });

无需将权限设置为单独的读取权限

 Session.OpenRequest openRequest = new Session.OpenRequest(LandingPageActivity.this);
    openRequest.setPermissions(Arrays.asList...);
    openRequest.setCallback(new Session.StatusCallback() {
        // callback when session changes state
        @Override
        public void call(Session session, SessionState state,
                Exception exception) {
            if (session.isOpened()) {
                // make request to the /me API
                Request request = Request.newMeRequest(session,
                        new Request.GraphUserCallback() {

                            // callback after Graph API response with user
                            // object
                            @Override
                            public void onCompleted(GraphUser user,
                                    Response response) {
                                if (user != null) {
                                    string email= user.getProperty("email");
                                }
                            }

                        });
                request.executeAsync();

            }
    });
    Session session = new Session(LandingPageActivity.this);
    Session.setActiveSession(session);
    session.openForRead(openRequest);
参考: