Cannot Get FB Profile Image Using Firebase

I can’t get the Facebook profile picture in my picture. I'm trying to get to the Picasso library. Have an idea to solve this? Here are my codes. Thanks in advance!

R.string.facebook_provider_id = "facebook.com"

Mistake:

FATAL EXCEPTION: main Process: com.example.yunus.ototakip, PID: 3045 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.yunus.ototakip/com.example.yunus.ototakip.Hesabim}: java.lang.IllegalArgumentException: Target must not be null. 

Hesabim.java

 public class Hesabim extends AppCompatActivity { public FirebaseAuth firebaseAuth; public FirebaseUser user; public CircleImageView userImage; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hesabim); userImage= (CircleImageView) findViewById(R.id.kullaniciHesapResmi); firebaseAuth = FirebaseAuth.getInstance(); user = FirebaseAuth.getInstance().getCurrentUser(); if(firebaseAuth.getCurrentUser()==null) { finish(); startActivity(new Intent(this,Giris.class)); } kullaniciMail.setText(firebaseAuth.getCurrentUser().getEmail()); String facebookUserId = ""; user = FirebaseAuth.getInstance().getCurrentUser(); for(UserInfo profile : user.getProviderData()) { // check if the provider id matches "facebook.com" if(profile.getProviderId().equals(getString(R.string.facebook_provider_id))) { facebookUserId = profile.getUid(); } } String photoUrl = "https://graph.facebook.com/" + facebookUserId + "/picture?type=medium"; Picasso.with(this).load(photoUrl).into(userImage); 

hesabim.xml

  <de.hdodenhof.circleimageview.CircleImageView android:id="@+id/kullaniciHesapResmi" android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/kullanici_pp" fancy:civ_border_color="@color/colorAccent" fancy:civ_border_width="2dp" /> 
0
android facebook firebase firebase-authentication facebook-login
source share
1 answer

I hope you first ask permission to view your profile with facebook, bcz without permission from facebook will not let you get anything.

 loginButton.setReadPermissions("public_profile", "email", "user_friends", "user_education_history", "user_hometown", "user_likes", "user_work_history"); 

or you can also use facebook feedback to get a user profile picture, for example.

 private FacebookCallback<LoginResult> mCallBack = new FacebookCallback<LoginResult>() { @Override public void onSuccess(final LoginResult loginResult) { GraphRequest request = GraphRequest.newMeRequest( loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted( JSONObject object, GraphResponse response) { Log.e("response: ", response + ""); try { String id = object.getString("id").toString(); String email = object.getString("email").toString(); String name = object.getString("name").toString(); String profilePicUrl = "https://graph.facebook.com/" + loginResult.getAccessToken().getUserId() + "/picture?type=large"; Log.d("imageFB", profilePicUrl); Log.d("FB_ID:", id); checkFBLogin(id, email, name, profilePicUrl); } catch (Exception e) { e.printStackTrace(); } finish(); } }); Bundle parameters = new Bundle(); parameters.putString("fields", "id,name,email,gender,birthday,friends,likes,hometown,education,work"); request.setParameters(parameters); request.executeAsync(); } 
+1
source share

All Articles