2014-03-31 206 views
0

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

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")); 
     } 
    } 
}); 

我的圖形結果沒有Email:

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。即使有一個朋友名單,我不會允許。並在我的圖表上,仍然沒有電子郵件。
enter image description here

回答

0

我想你已經在授權一次後添加了權限。因此,請點擊編輯,查看您提供給此應用的所有權限here

如果您發現沒有設置email權限,那麼您可以註銷應用程序/從設置中刪除應用程序,然後重新登錄;以便您可以再次獲得包含email權限的授權。

+0

我在開始向Facebook發問時請求許可。你可以給我樣品,我必須允許。順便說一句,我有更新我的問題與形象。並從我的Facebook應用程序,它寫的「這個應用程序需要:你的基本信息,你的電子郵件地址」,所以我認爲我的許可運作良好,但Facebook沒有給我的電子郵件在圖 –

+0

你能看到電子郵件許可我在答案中提到的鏈接? –

+0

是的,我看到了,我發現我的應用程序需要基本信息和電子郵件地址。 –

0

對於從Facebook獲取電子郵件,嘗試它像下面的東西。

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

通過使用上面的代碼,我成功地能夠得到facebbok用戶的電子郵件。嘗試一下,讓我知道你是否仍然面臨任何問題。

+0

問題不在於電子郵件參數,而是在我的圖表上沒有電子郵件。請檢查我的圖表結果。 –

1

這是衆所周知的問題.....對於某些帳戶facebook不想回覆電子郵件,即使代碼是正確的。你可以試試其他賬戶嗎?

相關問題