簡體   English   中英

Android Facebook登錄名獲取電子郵件

[英]Android Facebook Login get Email

我有一個帶有Facebook登錄按鈕並顯示用戶信息的簡單應用。 我正在嘗試使用多種方法來獲取用戶電子郵件,但它會返回空值。 如何獲取用戶電子郵件?

loginButton=(LoginButton)findViewById(R.id.loginButton);
loginButton.setReadPermissions(Arrays.asList("public_profile", "email"));
callbackManager= CallbackManager.Factory.create();
loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
    @Override
    public void onSuccess(LoginResult loginResult) {
        loginButton.setVisibility(View.GONE);
        //how to get user email here
        finish();
    }

    @Override
    public void onCancel() {
        Toast.makeText(PopUpFaceBook.this,"تم الغاء تسجيل الدخول",Toast.LENGTH_SHORT).show();
        finish();
    }

    @Override
    public void onError(FacebookException error) {
        Toast.makeText(PopUpFaceBook.this,"هناك مشكلة فى تسجيل الدخول حاول مجددا",Toast.LENGTH_SHORT).show();
        finish();
    }
});

onSuccess()回調方法中使用以下代碼:

LoginResult loginR = loginResult;
// App code
GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
    @Override
    public void onCompleted(JSONObject object, GraphResponse response) {
        Log.v("LoginActivity", response.toString());
        // Application code
        try {
            String email  = object.getString("email");
            String birthday = object.getString("birthday");
            String gender = object.getString("gender");
            String name = object.getString("name");
            // 01/31/1980 format
        } catch (JSONException ex) {
            Log.d("JSonExceptioin", ex.toString());
        }
    }
});
Bundle parameters = new Bundle();
parameters.putString("fields","id,name,email,gender,birthday,picture,timezone");
request.setParameters(parameters);
request.executeAsync();

您可以為此使用Firebase,它確實可以幫助您獲取Facebook個人資料的所有信息,例如:1.電子郵件2.名稱3.個人資料照片等。

請按照以下鏈接中的步驟操作:

https://firebase.google.com/docs/auth/android/facebook-login

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM