2016-06-02 2 views
0

페이스 북 로그인에 문제가 있습니다. 페이스 북에 로그인하려면 아래 코드를 사용했지만 잘못된 키 해시 오류가 발생합니다. 나는 페이스 북 개발자에게 해시 키를 추가했지만 페이스 북에 로그인 할 수없는 문제는 무엇인지 모르겠다. 이전에는 로그인했지만 지금은 hashkey의 오류를 제공Facebook 로그인 HashKey 오류

public void loginToFacebook() { 

    mPrefs = getPreferences(MODE_PRIVATE); 
    access_token = mPrefs.getString("access_token", null); 
    expires = mPrefs.getLong("access_expires", 0); 

    if (access_token != null) { 
     facebook.setAccessToken(access_token); 

    // btnFbLogin.setVisibility(View.INVISIBLE); 

     // Making get profile button visible 


     // Making post to wall visible 


     // Making show access tokens button visible 


     Log.d("FB Sessions", "" + facebook.isSessionValid()); 
    } 

    if (expires != 0) { 
     facebook.setAccessExpires(expires); 
    } 

    if (!facebook.isSessionValid()) { 
     facebook.authorize(this, 
      new String[] { "email"}, 
      new DialogListener() { 

      @Override 
      public void onCancel() { 
       // Function to handle cancel event 
      } 

      @Override 
      public void onComplete(Bundle values) { 
       // Function to handle complete event 
       // Edit Preferences and update facebook acess_token 

       SharedPreferences.Editor editor = mPrefs.edit(); 
       editor.putString("access_token", 
        facebook.getAccessToken()); 
       editor.putLong("access_expires", 
        facebook.getAccessExpires()); 
       editor.commit(); 

       // Making Login button invisible 
      // btnFbLogin.setVisibility(View.INVISIBLE); 

       // Making logout Button visible 
       getProfileInformation(); 

       // Making post to wall visible 

       // Making show access tokens button visible 

      } 

      @Override 
      public void onError(DialogError error) { 
       // Function to handle error 

      } 

      @Override 
      public void onFacebookError(FacebookError fberror) { 
       // Function to handle Facebook errors 

      } 

      }); 
    } 
    } 

    @Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    facebook.authorizeCallback(requestCode, resultCode, data); 
    } 
+0

개발자 계정에서 해당 erro 해시 키를 복사하려고 시도했습니다. –

+0

키 해시가 잘못되었습니다. kash 해시 ........ 저장된 키가 일치하지 않습니다. http : // developer.facebook ..../ – user3669034

+0

에서 동일한 키 해쉬를 사용하고 있습니다.하지만 이전에 매력을 느끼지 못했지만 시작한 이유를 모르겠습니다. 오늘부터 이런 오류가 발생합니다 – user3669034

답변

0

Genrate 된 setContentView 후 홈페이지 Activty에 넣어 아래의 코드()하여 해시 키 당신의 페이스 북에

try { 
     PackageInfo info = getPackageManager().getPackageInfo(
       "yourpackegename", //set your package name 
       PackageManager.GET_SIGNATURES); 
     for (Signature signature : info.signatures) { 
      MessageDigest md = MessageDigest.getInstance("SHA"); 
      md.update(signature.toByteArray()); 
      Log.e("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
     } 
    } catch (PackageManager.NameNotFoundException e) { 

    } catch (NoSuchAlgorithmException e) { 

    } 

그리고 로그에서 복사 해시 코드와 과거 대시 보드

+0

설명했습니다. 위의 해시 키 문제가 아니라 동일한 해시 키를 사용했으며 해시 키를 얻기 위해이 코드를 사용했지만 여전히 로그인에 문제가 있습니다 – user3669034

+0

해시 키 변경 해시 키 다시 처리 –

0

두 단계를 사용하여 해시 키를 얻을 수 있습니다. 하나는 명령 프롬프트입니다. 다른 하나는 코딩을 통한 것입니다. 처음으로 작업하는 명령 프롬프트를 통한 해시 키. 따라서 프로그래밍 방식으로 생성 된 해시 키를 사용해보십시오. 한 OnCreate에서

()

try { 
    PackageInfo info = getPackageManager().getPackageInfo(
      "com.example.packagename(your package name)", 
      PackageManager.GET_SIGNATURES); 
    for (Signature signature : info.signatures) { 
     MessageDigest md = MessageDigest.getInstance("SHA"); 
     md.update(signature.toByteArray()); 
     Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT)); 
     } 
} catch (NameNotFoundException e) { 

} catch (NoSuchAlgorithmException e) { 

} 

코드를 실행 한 후 logcat.Put에 hashkey을 얻을 것이다 페이스 북 개발자 계정 페이지의 페이지를 설정하는 hashkey.

+0

다시 작동하지 않습니다. 이 코드를 10 번 이상 사용했습니다. 오류는 다른 것입니다. 오늘까지 일하고 있었지만 오늘부터이 오류를 내기 시작했습니다. – user3669034

+0

당신은 logcat 오류를 줄 수 있습니까? –

+0

로그 아웃 오류가 없습니다. 그냥 페이스 북에 연결하는 데 문제가 있습니다. 잘못된 해시가 있습니다. 앱을 삭제하고 다시 만들고 openssl을 사용하여 해시 키를 만들고 위 코드와 페이 스북 개발자에게 추가했지만 여전히 연결할 수 없습니다 – user3669034