2012-10-29 73 views
1

我已經整合Facebook登錄到我的應用程序,但我不能找到如何獲取用戶的電子郵件地址的任何好消息。電子郵件真的是我唯一需要的東西。我能夠獲得其他基本信息。我的活動擴展了FaceBookActivity。當用戶點擊登錄到我的應用程序,我呼籲:Android的facebook集成根據教程獲取電子郵件

this.openSession(); 

然後,我有:

@Override 
    protected void onSessionStateChange(SessionState state, Exception exception) 
    { 
      // user has either logged in or not ... 
      if (state.isOpened()) 
      { 
       // make request to the /me API 
       Request request = Request.newMeRequest(
        this.getSession(), 
        new Request.GraphUserCallback() 
        { 
         // callback after Graph API response with user object 
         @Override 
         public void onCompleted(GraphUser user, Response response) 
         { 
          if (user != null) 
          { 
          TextView welcome = (TextView) findViewById(R.id.welcome); 
          welcome.setText("Hello " + user.getName() + "!"); 
          Log.d("user fname",user.getFirstName()); 
          Log.d("user lname",user.getLastName()); 
          Log.d("user username",user.getUsername()); 
          Log.d("user email",(String)user.getProperty("email")); 

         } 
        } 
       } 
      ); 

       Request.executeBatchAsync(request); 
      } 
    } 

GraphUser不公開的電子郵件。有任何想法嗎?

我已經在我的Facebook開發面板中設置的「電子郵件」的權限。

+1

你請求在你的驗證碼「電子郵件」的權限? – Igy

+0

我沒有驗證碼。所有的代碼都是你在上面看到的,這對於基本信息起作用。 – boostedz06

+1

是的,並且電子郵件地址不是基本信息的一部分 - 您需要用戶授予'email'權限 – Igy

回答

2

好吧,我想通了這一點。該GraphUser對象將包含電子郵件地址,但我發現,接近登錄從基礎教程完全不同的教程。

以下是基本教程: https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/

,這裏是你必須除了基本教程落實教程得到這個工作: https://developers.facebook.com/docs/howtos/androidsdk/3.0/login-with-facebook/#step3

,你所要做的就是實現第一次登錄的樣品,然後去改變它的第2個樣品,然後用第一個樣品的部分在您的最終產品。如果您仔細閱讀每篇教程,從我發佈的第一篇教程開始,您將學習如何通過實施其他權限請求來捕獲用戶需要的任何數據。

希望這可以幫助別人。所有的我搜索的問題,「SO」是指舊的API與過時的方法。

0

更多權限,您可以更改功能.openSession()來.openSessionForRead(字符串APPID,列表< String>的權限),如果你有APP_ID上

6

的strings.xml運行.openSessionForRead(空,列表權限)新的Facebook SDK 3.0

String email = (String) response.getGraphObject().getProperty("email"); 
相關問題