簡體   English   中英

從android facebook sdk獲取電子郵件

[英]get email from android facebook sdk

我有工作代碼來獲取除電子郵件之外的用戶信息。 這是我的請求代碼:

private void requestLoginFb() {  
    Session session = Session.getActiveSession();  
    if (!session.isOpened() && !session.isClosed()) {
        session.openForRead(new Session.OpenRequest(this).setPermissions(
                Arrays.asList("basic_info", "email")).setCallback(
                fbCallback));
    } else {
        Session.openActiveSession(act, true, fbCallback);
    }
}

在這里我獲得用戶信息

Request.executeMeRequestAsync(session,
    new Request.GraphUserCallback() {
    @Override
    public void onCompleted(GraphUser user, Response response) {
        if (null != user) {
            C.trace("user name: " + user.getName());
            C.trace("user gender: " + user.asMap().get("gender"));
        }
    }
});  

我的圖表結果沒有電子郵件:

GraphObject{graphObjectClass=Map, state={"id":"10000xxxxxxx","first_name":"xxxx","username":"xxxxxx","timezone":x,"locale":"en_US","link":"https:\/\/www.facebook.com\/xxxxxx","name":"xxxxx","last_name":"xxxxx","gender":"male","education":[{"type":"xxxx","school":{"id":"xxxxx","name":"xxxxx"}}],"updated_time":"xxxxxxx"}}  

我擔心我的允許方式。 然后我將基本信息和電子郵件發送到會話中。 而且我不知道這是否正確。

UPDATE

這里的截圖,同時要求到Facebook。 即使有一個朋友名單,我也沒有同意。 在我的圖表上,那里仍然沒有電子郵件。
在此處輸入圖片說明

這是一個眾所周知的問題.....對於某些帳戶,即使代碼正確,facebook也不想返回電子郵件。 您可以嘗試使用其他帳戶嗎?

要從Facebook獲取電子郵件,請嘗試以下類似方法。

String email = user.asMap().get("email").toString();
Textview mEmail = (TextView) findViewById(R.id.textView1);
mEmail.setText(email);

通過使用以上代碼,我可以成功獲取Facebbok用戶的電子郵件。 試試看,讓我知道您是否仍然遇到任何問題。

我認為您已經獲得一次授權后添加了權限。 因此,請點擊“ 編輯”, 在此處查看您為此應用程序提供的所有權限。

如果您發現未設置email權限,則可以注銷該應用程序/從設置中刪除該應用程序,然后再次登錄; 這樣您便可以再次獲得包含email許可的授權。

暫無
暫無

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

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