2012-04-08 5 views
0
public class FacebookConnect extends Activity { 

    Facebook facebook = new Facebook(""); 
    String FILENAME = "AndroidSSO_data"; 
    private SharedPreferences mPrefs; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     /* 
     * Get existing access_token if any 
     */ 
     mPrefs = getPreferences(MODE_PRIVATE); 
     String access_token = mPrefs.getString("access_token", null); 
     long expires = mPrefs.getLong("access_expires", 0); 
     if(access_token != null) { 
      facebook.setAccessToken(access_token); 
     } 
     if(expires != 0) { 
      facebook.setAccessExpires(expires); 
     } 

     /* 
     * Only call authorize if the access_token has expired. 
     */ 
     if(!facebook.isSessionValid()) { 

      facebook.authorize(this, new String[] {}, new DialogListener() { 
       public void onComplete(Bundle values) { 
        SharedPreferences.Editor editor = mPrefs.edit(); 
        editor.putString("access_token", facebook.getAccessToken()); 
        editor.putLong("access_expires", facebook.getAccessExpires()); 
        editor.commit(); 
       } 

       public void onFacebookError(FacebookError error) {} 

       public void onError(DialogError e) {} 

       public void onCancel() {} 
      }); 
     } 
    } 

    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     facebook.authorizeCallback(requestCode, resultCode, data); 
     AsyncFacebookRunner asyncRunner = new AsyncFacebookRunner(this.facebook); 
     asyncRunner.request("me", new meRequestListener()); 
    } 
} 

FB로 로그인하면 내 코드로 로그인 할 수 있습니다. 두 가지 의문점이 있습니다. 1. 사용자 정보는 어떻게 얻을 수 있습니까? (FB 이름) 2. 어떻게 데이터베이스에 저장합니까? 여기서 문제는 사용자가 페이스 북을 통해 로그인하도록 허용하더라도 같은 이름을 가진 다른 사용자가있을 수 있다는 것입니다. 그렇다면 fb는 데이터베이스에 고유 항목을 작성하기 위해 전자 메일 주소를 얻을 수 있습니까?Android 앱에서 fb connect를 사용하는 방법은 무엇입니까?

답변

0

사용자의 고유 식별자를 원할 경우 자신의 facebook id를 사용하십시오. 이를 위해 FB에서 제공하는 그래프 API를 사용할 수 있습니다. 사용자가 유효한 액세스 토큰이있는 경우는 만 작동 (https://graph.facebook.com/me

0

당신이를 설치해야합니다 : 여기에 대한 자세한 정보 : https://developers.facebook.com/docs/reference/api/ 은 (페이스 북 ID로) 기본 정보를 얻으려면 현재 로그인 한 사용자에 대해,이 API를 사용할 수 있습니다.

1)는 페이스 북을 다운로드)

2 github.com/facebook/facebook-android-sdk로 이동 : 핵심 안드로이드 SDK와 유사한 확장은,하지만, 여기 당신이해야 할 것입니다 디렉토리에만! 다른 디렉토리는 예제 일뿐입니다.

3. )는 SRC에서 파일을 넣어 (패키지에, 당신은 가고 당신은 좋은

4)로 작업) 할 경우 당신은 당신이 할 수있는, 너무 드로어 블을 복사 할 수 있습니다 페이스 북 "SDK"사용

이 예제도 참조하십시오. https://github.com/facebook/facebook-android-sdk/tree/master/examples/Hackbook 다운로드, 작동 예제 다운로드 facebook

관련 문제