[英]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.