2016-04-26 6 views
0

どこかのFacebook SDKのコード例を使用してバックエンドの実装がありますか?私はこれをして、私はバックエンドでユーザーのデータを見ることができません。Backendless Facebook SDKの実装

ここに私のコードです。

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

マッピング

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

答えて

0

これは、コードスニペットとマニュアルに記載されていますhttps://backendless.com/documentation/users/android/users_facebook_login.htm

はまた、それを使用して完全なサンプルがあります。またhttps://github.com/Backendless/Android-SDK/tree/master/samples/UserService/FacebookSDKSamples

+0

ありがとう、私はそれをチェックアウトさせてください。 – Geob

+0

私のバックエンドでは、コードに追加されたマッピングから "fb_id"、 "fb_first_name"などのテーブルを作成しますか? – Geob

+0

@ Geeこれは既に存在するUsersテーブルになります。 – Scadge

1

何@Scadgeへバックエンドレスコンソールに組み込まれたコード生成を使用することができます。これを行うには:

  1. あなたのクライアントタイプ(iOS版/ Androidの/ JS)を選択しBackendlessコンソール
  2. でのコード生成のアイコンをクリックし
  3. "Facebookログイン" チェックボックスを選択し、「ダウンロードコードをクリックしてください"ボタンを押してください。
+0

私はいくつかのお礼をいただきありがとうございます。ユーザデータはバックエンドレステーブルに保存されています。 backendlessPrefは、ユーザーがluancherアクティビティからログインしていない場合、LoginActivityにリダイレクトする、つまりユーザーログイン状況を判断する役割はありますか? – Geob

+0

いいえ、それはしません –

関連する問題