-3
在我的Android應用程序中,我已經完成了Facebook集成.Facebook登錄工作正常。如何從Android的Facebook集成中獲取用戶的電子郵件ID? 請幫忙。 在此先感謝。安卓Facebook集成獲取電子郵件編號
在我的Android應用程序中,我已經完成了Facebook集成.Facebook登錄工作正常。如何從Android的Facebook集成中獲取用戶的電子郵件ID? 請幫忙。 在此先感謝。安卓Facebook集成獲取電子郵件編號
使用許可,該代碼
loginButton.setReadPermissions(Arrays.asList("email","user_birthday"));
,並使用圖形API
private FacebookCallback<LoginResult> mCallBack = new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
progressDialog.dismiss();
// App code
GraphRequest request = GraphRequest.newMeRequest(
loginResult.getAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(
JSONObject object,
GraphResponse response) {
Log.e("response: ", response + "");
Log.e("object: ", object + "");
try {
userfbData = new UserfbData();
userfbData.facebookID = object.getString("id").toString();
userfbData.email = object.getString("email").toString();
userfbData.name = object.getString("name").toString();
userfbData.gender = object.getString("gender").toString();
userfbData.birthday=object.getString("birthday").toString();
PrefUtils.setCurrentUser(userfbData,LoginActivity.this);
Log.d("flist","flist"+ userfbData.flist);
}catch (Exception e){
e.printStackTrace();
}
// Toast.makeText(LoginActivity.this,"welcome "+userfbData.name+userfbData.email+userfbData.gender+userfbData.birthday, Toast.LENGTH_LONG).show();
Toast.makeText(LoginActivity.this,"welcome "+ userfbData.name, Toast.LENGTH_LONG).show();
Intent intent=new Intent(LoginActivity.this,LogoutActivity.class);
startActivity(intent);
finish();
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email,gender, birthday");
request.setParameters(parameters);
request.executeAsync();
}
@Override
public void onCancel() {
progressDialog.dismiss();
}
@Override
public void onError(FacebookException e) {
progressDialog.dismiss();
Log.d("error","error"+e);
e.printStackTrace();
}
};
UserFbData
public class UserfbData {
public String name;
public String email;
public String facebookID;
public String gender;
public String birthday;
}
你需要做一個GraphRequest調用來獲取登錄的個人信息用戶如身份證,姓名,電子郵件等。
GraphRequest request = GraphRequest.newMeRequest(accessToken,
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
try {
String email = object.getString("email");
} catch (JSONException e) {
}
}
}
);
Bundle parameters = new Bundle();
parameters.putString("fields","email");
request.setParameters(parameters);
request.executeAsync();