2013-02-28 19 views
9

私は過去2日間検索し、Facebook SDK 3.0 - ネイティブログインからユーザーIDとアクセストークンを取得する方法を見つけることに成功しませんでした。Facebook SDK 3.0 - FacebookのユーザーIDとアクセストークンを取得

私はFacebookのネイティブログイン下記の午前

からhttp://developers.facebook.com/docs/tutorials/androidsdk/3.0/scrumptious/authenticate/

と私はSession.getAccessTokenを使用してアクセストークンを取得するには、私はいくつかのアクセストークンを取得するが、それは有効ではありません。実際の手順は何ですか?間違ってやってるの? FacebookのSDK 3.0

答えて

38

ユーザーIDを使用してネイティブログインでUserIdを取得する方法

final Session session = Session.getActiveSession(); 
    if (session != null && session.isOpened()) { 
     // If the session is open, make an API call to get user data 
     // and define a new callback to handle the response 
     Request request = Request.newMeRequest(session, new Request.GraphUserCallback() { 
      @Override 
      public void onCompleted(GraphUser user, Response response) { 
       // If the response is successful 
       if (session == Session.getActiveSession()) { 
        if (user != null) { 
         user_ID = user.getId();//user id 
         profileName = user.getName();//user's profile name 
         userNameView.setText(user.getName()); 
        } 
       } 
      } 
     }); 
     Request.executeBatchAsync(request); 
    } 

user_ID & profileNameは文字列です。 accessTokenため

String token = session.getAccessToken(); 

EDITED:

:(13/1/2014)

ユーザーの電子メール(私は、デバイスまたはエミュレーター上で実行することによって、このコードをチェックしていない)のために

これは私の意見でも、あなたはそれを提案と呼ぶこともできます。

setReadPermissions(Arrays.asList("email", ...other permission...)); 
//by analyzing the links bellow, i think you can set the permission in loginbutton as: 
loginButton.setReadPermissions(Arrays.asList("email", ...other permission...)); 
user.asMap().get("email"); 
詳細は0

は、以下を参照してください。 link1link2link3link4

+0

ここでは、ユーザーの電子メールを取得する方法? –

+0

@ user2843350:「EDITED :(2013年1月13日)」の部分にいくつかの提案を入れ、チェックアウトして教えてください。 P.S .:私はFacebook SDKで長年働いていない – Shoshi

関連する問題