1

I want to integrate Facebook signin in my android app. I am using Facebook-sdk-4.4.0 but getting a blank screen. I tried to debug my app using fiddler and noticed that webview is not able to get created because request to facebook are getting 500 internal server error as response.

Please help to figure out the mistake which I am making.

Fiddler response

Getting left image in my activity

sv_jan5
  • 1,543
  • 16
  • 42

1 Answers1

1

Try with this code. It's work successfully.

callbackManager = CallbackManager.Factory.create();

loginButton = (LoginButton) findViewById(R.id.login_button);

List < String > permissionNeeds = Arrays.asList("user_photos", "email",
 "user_birthday", "public_profile", "AccessToken");
loginButton.registerCallback(callbackManager,
new FacebookCallback < LoginResult > () {@Override
 public void onSuccess(LoginResult loginResult) {

  System.out.println("onSuccess");

  String accessToken = loginResult.getAccessToken()
   .getToken();
  Log.i("accessToken", accessToken);

  GraphRequest request = GraphRequest.newMeRequest(
  loginResult.getAccessToken(),
  new GraphRequest.GraphJSONObjectCallback() {@Override
   public void onCompleted(JSONObject object,
   GraphResponse response) {

    Log.i("LoginActivity",
    response.toString());
    try {
     String id = object.getString("id");
     try {
      URL profile_pic = new URL(
       "http://graph.facebook.com/" + id + "/picture?type=large");
      Log.i("profile_pic",
      profile_pic + "");

     } catch (MalformedURLException e) {
      e.printStackTrace();
     }
     String name = object.getString("name");
     String email = object.getString("email");
     String gender = object.getString("gender");
     String birthday = object.getString("birthday");
    } catch (JSONException e) {
     e.printStackTrace();
    }
   }
  });
  Bundle parameters = new Bundle();
  parameters.putString("fields",
   "id,name,email,gender, birthday");
  request.setParameters(parameters);
  request.executeAsync();
 }

 @Override
 public void onCancel() {
  System.out.println("onCancel");
 }

 @Override
 public void onError(FacebookException exception) {
  System.out.println("onError");
  Log.v("LoginActivity", exception.getCause().toString());
 }
});

@Override
protected void onActivityResult(int requestCode, int responseCode,
Intent data) {
 super.onActivityResult(requestCode, responseCode, data);
 callbackManager.onActivityResult(requestCode, responseCode, data);
}

for step by step code check my answer here. facebook login with SDK4

Community
  • 1
  • 1
Harvi Sirja
  • 2,472
  • 2
  • 18
  • 19
  • are you done with all formalities at https://developers.facebook.com in your app registration? If it's all done well than try my answer. – Harvi Sirja Jul 24 '15 at 12:39