API Facebook Email null

Ola a todos,
Estou com um problema ao me conectar com a API Facebook, alguns usuários não retorna o email, somente id e nome, testei com 5 usuários do facebook, o meu e de mais dois colegas funcionam, os outros dois não, alguém já pegou esse caso ?

[quote=Fednando]Ola a todos,
Estou com um problema ao me conectar com a API Facebook, alguns usuários não retorna o email, somente id e nome, testei com 5 usuários do facebook, o meu e de mais dois colegas funcionam, os outros dois não, alguém já pegou esse caso ?[/quote]

Olá amigo

Você poste a sua classe que faz a chamada para o Login do Facebook pra gente dar uma olhada.

Abraço

Pode ser permissão. Veja se esses dois não colocaram para ninguém ver o email.

opa, segue o código:

private void logarFacebook() {
SessionStatusCallBack statusCallback = new SessionStatusCallBack();
Session.OpenRequest openRequest = new Session.OpenRequest(ActivityLogin.this);
openRequest.setPermissions(Arrays.asList(“basic_info”, “email”, “user_events”));
openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
openRequest.setCallback(statusCallback);
Session session = Session.getActiveSession();

	Log.d("APK", "antes de verificar sessão  ");
	
	if (session != null) {
		if (session.isOpened()) {
			
			session = new Session.Builder(ActivityLogin.this).setApplicationId(Utility.getMetadataApplicationId(ActivityLogin.this)).build();
		}
	} else {
		session = new Session.Builder(ActivityLogin.this).setApplicationId( Utility.getMetadataApplicationId(ActivityLogin.this)).build();
	}
	Session.setActiveSession(session);
	session.openForRead(openRequest);
	
}

protected class SessionStatusCallBack implements Session.StatusCallback{
	
	@SuppressWarnings("deprecation")
	@Override
	public void call(Session session, SessionState state,Exception exception) {
		if(dialog.isShowing()){
			dialog.dismiss();
		}
		
		if(session.isOpened()){

		Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
			@Override
			public void onCompleted(GraphUser user, Response response) {
				
                                    
				Log.d("APK", "dentro onCompleted  "+user.getProperty("email") );
				
								
								HashMap<String, Object> map = new HashMap<String, Object>();
							
								map.put("email", user.getProperty("email").toString());
								map.put("name", user.getName());
								map.put("facebook_id", user.getId());
								map.put("device_identifier", DeviceUtils.getAndroidID(ActivityLogin.this));
								executeTask(map);
								
			}

		});
		
		}else if (session.getState() == SessionState.CLOSED_LOGIN_FAILED) {
				Toast.makeText(ActivityLogin.this, "Erro ao tentar logar com Facebook", Toast.LENGTH_LONG).show();
				session.closeAndClearTokenInformation();
		}
	}
	
}



     @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
  }

[quote=Fednando]opa, segue o código:

private void logarFacebook() {
SessionStatusCallBack statusCallback = new SessionStatusCallBack();
Session.OpenRequest openRequest = new Session.OpenRequest(ActivityLogin.this);
openRequest.setPermissions(Arrays.asList(“basic_info”, “email”, “user_events”));
openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
openRequest.setCallback(statusCallback);
Session session = Session.getActiveSession();

	Log.d("APK", "antes de verificar sessão  ");
	
	if (session != null) {
		if (session.isOpened()) {
			
			session = new Session.Builder(ActivityLogin.this).setApplicationId(Utility.getMetadataApplicationId(ActivityLogin.this)).build();
		}
	} else {
		session = new Session.Builder(ActivityLogin.this).setApplicationId( Utility.getMetadataApplicationId(ActivityLogin.this)).build();
	}
	Session.setActiveSession(session);
	session.openForRead(openRequest);
	
}

protected class SessionStatusCallBack implements Session.StatusCallback{
	
	@SuppressWarnings("deprecation")
	@Override
	public void call(Session session, SessionState state,Exception exception) {
		if(dialog.isShowing()){
			dialog.dismiss();
		}
		
		if(session.isOpened()){

		Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
			@Override
			public void onCompleted(GraphUser user, Response response) {
				
                                    
				Log.d("APK", "dentro onCompleted  "+user.getProperty("email") );
				
								
								HashMap<String, Object> map = new HashMap<String, Object>();
							
								map.put("email", user.getProperty("email").toString());
								map.put("name", user.getName());
								map.put("facebook_id", user.getId());
								map.put("device_identifier", DeviceUtils.getAndroidID(ActivityLogin.this));
								executeTask(map);
								
			}

		});
		
		}else if (session.getState() == SessionState.CLOSED_LOGIN_FAILED) {
				Toast.makeText(ActivityLogin.this, "Erro ao tentar logar com Facebook", Toast.LENGTH_LONG).show();
				session.closeAndClearTokenInformation();
		}
	}
	
}



     @Override
  public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
  }[/quote]

olá amigo desculpe a demora na resposta ate aqui não vejo nada de errado, pode ser permissão mesmo do perfil porém posta ai o método : executeTask(map)
pra gente ver !

Abraços