0
分享它的選項後,電子郵件ID是不是通過圖形API訪問
我的代碼如下所示:爲什麼即使能夠在輪廓
facebookButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
LoginManager.getInstance().logInWithReadPermissions(LogInActivity.this,
Arrays.asList("public_profile", "email"));
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
//set login status
SessionManager.get(LogInActivity.this).setLoginStatus(true);
graphRequest(loginResult);
}
@Override
public void onCancel() {
// not called
Toast.makeText(getApplicationContext(), "fail", Toast.LENGTH_SHORT).show();
}
@Override
public void onError(FacebookException e) {
// not called
Toast.makeText(getApplicationContext(), "error", Toast.LENGTH_SHORT).show();
}
});
}
});
private void graphRequest(LoginResult loginResult) {
showProgressDialog();
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
try {
if (object.has("email")) {
//store session manager
email = object.getString("email");
SessionManager.get(LogInActivity.this).setEmailId(email);
}
if (object.has("id")) {
faceBookId = object.getString("id");
picUrl = "https://graph.facebook.com/" + faceBookId
+ "/picture?type=large";
//store session manager
SessionManager.get(LogInActivity.this).setProfilePic(picUrl);
// downLoadImage(url);
}
if (object.has("name")) {
//store session manager
name = object.getString("name");
SessionManager.get(LogInActivity.this).setPersonName(name);
}
downLoadImage(picUrl, name, email, "0");
// Toast.makeText(getApplicationContext(), email, Toast.LENGTH_LONG).show();
} catch (JSONException e) {
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,picture.type(small)");
request.setParameters(parameters);
request.executeAsync();
}
這裏的問題是,我沒能獲得電子郵件ID甚至啓用後允許朋友將我的電子郵件地址包含在我的Facebook個人資料中的下載您的信息選項中,是否有任何其他方式獲取電子郵件ID?