2017-07-19 20 views
1

Facebook APIを使用して自分のアンドロイドの検証に関するデータを取得しようとしています。私は自分のFacebookアカウントにログインすることができます。これは私が、私は以下のコードスニペットで原因:java.lang.NullPointerException:仮想メソッド 'java.lang.String com.facebook.Profile.getFirstName()'を呼び出そうとしています

public void getFacebookData(AccessToken accessToken, Profile profile) { 
     System.out.println("---------------------"); 
     System.out.println("--Facebook Login Successful!"); 
     System.out.println("--Logged in user Details : "); 
     System.out.println("---------------------"); 
     System.out.println("--User ID : " + accessToken.getUserId()); 
     System.out.println("--Authentication Token : " + accessToken.getToken()); 
     System.out.println("---------------------"); 
     System.out.println("--First Name : " + profile.getFirstName()); 
     System.out.println("--Last Name : " + profile.getLastName()); 
     System.out.println("--URL Perfil: " + profile.getLinkUri()); 
     System.out.println("--URL Imagem: " + profile.getProfilePictureUri(500, 500)); 
     System.out.println("---------------------"); 
     System.out.println("--ID : " + profile.getId()); 
     System.out.println("--Name : " + profile.getName()); 
     System.out.println("---------------------"); 

     TextView profile_name = (TextView)findViewById(R.id.profile); 
     profile_name.setText(profile.getName()); 
をnullポインタ例外を取得していますプロファイル名およびその他のデータをフェッチしようとしている以上の権限を使用してFacebookのアカウントから

loginButton.setReadPermissions(Arrays.asList("public_profile", "email", "user_birthday", "user_friends")); 

をデータをフェッチするように設定されている権限であります

私が使用しているアプローチには何が間違っていますか。

+0

もちろん、**プロファイル**は** null **です。 – GhostCat

答えて

0

NullPointerExceptionは、アプリケーションがNULL値を持つ オブジェクト参照を使用しようとするとスローされます。

ゲッター現在アプリケーションにログインしているプロファイルの

getCurrentProfile()

public void getFacebookData(AccessToken accessToken, Profile profile) { 
    System.out.println("---------------------"); 
    profile = Profile.getCurrentProfile(); // Add this 
    if (profile != null) 
    { 
    System.out.println("--First Name : " + profile.getFirstName()); 
    System.out.println("--Last Name : " + profile.getLastName()); 
    System.out.println("--URL Perfil: " + profile.getLinkUri()); 
    System.out.println("--URL Imagem: " + profile.getProfilePictureUri(500, 500)); 
    System.out.println("---------------------"); 
    System.out.println("--ID : " + profile.getId()); 
    System.out.println("--Name : " + profile.getName()); 
    System.out.println("---------------------"); 

    } 
+0

プロファイルはまだnullを返しますこれは私が使用しているアカウントと関係があります – blend

+0

@blendがあるかもしれません! DEBUGしてください –

関連する問題