2016-04-26 12 views
0

Gibt es eine Backendless-Implementierung mit Facebook SDK-Codebeispiel irgendwo da draußen? Ich habe dies getan und ich kann die Benutzerdaten in meinem Backend nicht sehen.Backendless Facebook SDK-Implementierung

Hier ist mein Code.

private FacebookCallback<LoginResult> mCallBack = new FacebookCallback<LoginResult>() { 
     @Override 
     public void onSuccess(LoginResult loginResult) { 

      GraphRequest request = GraphRequest.newMeRequest(
        loginResult.getAccessToken(), 
        new GraphRequest.GraphJSONObjectCallback() { 
         @Override 
         public void onCompleted(JSONObject object, GraphResponse response) { 
          Log.e("response: ", response + ""); 



          Backendless.UserService.loginWithFacebookSdk(LoginActivity.this, 
            callbackManager, 
            new AsyncCallback<BackendlessUser>() { 
             @Override 
             public void handleResponse(BackendlessUser response) { 
              user = new User(); 
              user.setFacebookID((String) response.getProperty("id")); 
              user.setName((String) response.getProperty("name")); 
              user.setEmail((String) response.getProperty("email")); 
              user.setGender((String) response.getProperty("gender")); 
              user.setLocale((String) response.getProperty("locale")); 
             } 

             @Override 
             public void handleFault(BackendlessFault fault) { 
              Toast.makeText(getApplicationContext(), fault.getMessage(), Toast.LENGTH_SHORT).show(); 
             } 
            }); 
         } 
        } 
      ); 

      Bundle parameters = new Bundle(); 
      parameters.putString("fields", "id, name, email, gender, locale, birthday, picture.width(80).height(80)"); 
      request.setParameters(parameters); 
      request.executeAsync(); 
     } 

     @Override 
     public void onCancel() { 
      Log.i(TAG, "LoginButton FacebookCallback onCancel"); 
     } 

     @Override 
     public void onError(FacebookException error) { 
      Log.i(TAG, "LoginButton FacebookCallback onError:: "+error.getMessage()); 
      Log.i(TAG, "Exception:: "+error.getStackTrace()); 
     } 
    } 

Mappings

Map<String, String> facebookFieldMappings = new HashMap<String, String>() {{ 
        put("id", "fb_id"); 
        put("first_name", "fb_first_name"); 
        put("last_name", "fb_last_name"); 
        put("email", "email"); 
        put("gender", "fb_gender"); 
       }}; 

Antwort

0
+0

danke, lassen Sie mich es überprüfen. – Geob

+0

in meinem Backend, erstelle ich dann eine Tabelle mit den Spalten "fb_id", "fb_first_name" usw. aus den Zuordnungen zum Code hinzugefügt? – Geob

+0

@Geob Dies ist Ihre Benutzer Tabelle, die bereits existiert. – Scadge

1

Zusätzlich zu dem, was @Scadge sagte, Sie können Code-Generierung in Backendless Console integriert verwenden. Um dies zu tun:

  1. Klicken Sie auf die Code-Generierung Symbol in Backendless Konsole
  2. Wählen Sie ein Client-Typ (iOS/Android/JS)
  3. Wählen Sie den "Facebook Login" Checkbox
  4. Klicken Sie auf „Download Code "Schaltfläche am unteren Bildschirmrand.
+0

Ich habe einige Fortschritte gemacht, die Benutzerdaten werden in Backendless-Tabelle gespeichert. Hat backendlessPref eine Rolle bei der Bestimmung des Benutzeranmeldestatus, d. H. Weiterleitung an LoginActivity, wenn der Benutzer nicht von luancher Activity angemeldet ist? – Geob

+0

Nein, tut es nicht –

Verwandte Themen