내 앱에서 Facebook의 이메일을받는 데 문제가 있습니다. 내가 많이 봤 거든 많은 답변을 통해 왔지만 아무것도 내 경우에 작동합니다. 나는 같은 방법 described here을 따라 갔지만 반환 값은 null입니다. 아래는 내 코드입니다. 그리고 페이스 북 앱에서 사용자 & 친구 권한을 이메일로 추가했습니다. 누군가 내가 할 수있는 실수를 지적 할 수 있다면 큰 도움이 될 것입니다.Facebook에서 이메일 정보를 가져 오는 방법은 무엇입니까?
private void makeMeRequest(final Session session) {
Request request = Request.newMeRequest(session,
new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
if (session == Session.getActiveSession()) {
if (user != null) {
profilePictureView.setProfileId(user.getId());
facebook_id = String.valueOf(user.getId());
fullName.setText(user.getName());
if (user.asMap().get("email") != null)
email.setText(user.asMap().get("email")
.toString());
}
}
if (response.getError() != null) {
}
}
});
Bundle params = request.getParameters();
params.putString("fields", "email,name");
request.setParameters(params);
request.executeAsync();
}
어디에서 이메일 권한을 제공해야합니까? 이 코드 줄은 충분하지 않습니까?> params.putString ("fields", "email, name"); –
아니요. 'params.putString ("fields", "email, name") 설정은 요청에 대한 응답으로 얻고 자하는 것입니다. 다음 행을 추가해야합니다 :'openRequest.setPermissions (Arrays.asList ("email"));'이 해결책을 확인하십시오 : http://stackoverflow.com/a/13926065/334522. 또는 많은 코드를 작성할 필요가없는이 오픈 소스 android-simple-facebook 라이브러리를 사용할 수 있습니다. 다음 몇 가지 단계를 수행하면 답변을 얻을 수 있습니다. https://github.com/sromku/android-simple-facebook#usage – sromku
도서관을 이용했는데 정말 유용했습니다. 그러나 지금 나는 어딘가에 갇혀있다. 성공적으로 로그인했지만 다른 활동에서 세션을 검색하려면 어떻게해야합니까? (권한 및 구성을 설정하여 새 인스턴스를 초기화하지 않고). 거기에 어떤 방법이 있습니까? SimpleFacebook.getInstance (getApplicationContext());를 사용했습니다. 하지만 "로그인하지 않은 사용자"오류가 발생했습니다 –