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

Das ist mein Code, um mich mit FB zu verbinden. Ich habe zwei Zweifel daran: 1. Wie bekomme ich die Benutzerinformationen? (FB-Name) 2. Wie speichere ich es in der Datenbank. Das Problem hierbei ist, dass selbst wenn ich einem Benutzer die Möglichkeit gebe, sich über Facebook anzumelden, andere Benutzer mit demselben Namen existieren können. Also, erlaubt mir fb, ihre E-Mail-Adresse zu erhalten, um einen eindeutigen Eintrag in der Datenbank zu erstellen?Wie verwende ich fb connect in der Android App?

Antwort

0

Wenn Sie eine eindeutige Kennung für den Benutzer wünschen, verwenden Sie seine Facebook-ID. Um dies zu erreichen, können Sie die Grafik-API verwenden, die von FB bereitgestellt wird. Mehr Infos dazu hier: https://developers.facebook.com/docs/reference/api/ Um grundlegende Informationen (mit facebook id) des aktuell angemeldeten Benutzers, können Sie diese api verwenden: https://graph.facebook.com/me (es funktioniert nur, wenn der Benutzer gültige Zugriffstoken hat

0

Sie eine installieren. Erweiterung, ähnlich dem Core-Android-SDK, aber nein, hier ist das, was Sie tun müssen:

1.) gehen

2.) Laden Sie die Facebook github.com/facebook/facebook-android-sdk Verzeichnis NUR! Die anderen Verzeichnisse sind nur Beispiele. Setzen Sie

3.) die Dateien aus dem src (Sie können die Drawables kopieren, wenn Sie wollen) in der Verpackung, die gerade mit Arbeits

4.) Sie sind gut zu gehen, können Sie Verwenden Sie die Facebook "SDK"

siehe auch dieses Beispiel https://github.com/facebook/facebook-android-sdk/tree/master/examples/Hackbook herunterladen, es funktioniert Beispiel von facebook

bereitgestellt
Verwandte Themen