2015-01-25 1 views
0

내 안드로이드 응용 프로그램에서 Facebook 공유를 구현하려고했습니다. 이 문서를 읽었습니다.Facebook 키 해시가 저장된 키 해시와 일치하지 않습니다.

https://developers.facebook.com/docs/android/share.

내 개발 키 해시를 한 번 통합하고 내 응용 프로그램에서 페이스 북과 성공적으로 공유했습니다. 문제는 다른 응용 프로그램에 대해 동일한 단계를 구현하려고 할 때입니다. 키 해시를 성공적으로 추가하고 페이스 북으로 응용 프로그램을 연결했지만 "POST"를 누르면 키 해시가 일치하지 않으며 오류 메시지와 함께 제공되는 키 해시가 이전 응용 프로그램의 키 해시를 표시하고 있음을 보여줍니다.

이 키를 사용하여 키 해시를 두 번 확인했습니다.

try { 
    PackageInfo info = getPackageManager().getPackageInfo(
     "My Project", 
     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)); 
     Toast.makeText(this, Base64.encodeToString(md.digest(), Base64.DEFAULT), Toast.LENGTH_LONG).show(); 
    } 
} catch (NameNotFoundException e) { 
} catch (NoSuchAlgorithmException e) { 
} 

모든 솔루션?

+0

나는 위의 코드를 사용하여 발견 한 해시 키가 페이스 북 개발 키 해시에 삽입 할 때 작동하지 않는다는 것을 알아 냈지만 이전 응용 프로그램의 해시 키를 삽입하면 작동합니다. 다른 응용 프로그램에 따라 다르지 않습니까? – Aveek

+0

두 앱을 게시 할 때 동일한 키 스토어에서 사용하는 경우 키가 동일 할 수 있습니다. 특히 Eclipse의 Debug Keystore 또는 이와 유사한 것을 사용하고 있다면. Android에서 Facbook에 대한 디버그 및 릴리스 키 해시를 얻는 방법을 읽어보십시오. 온라인 예제가 풍부합니다. – Gil

+0

글쎄, 나는 온라인에서 예제를 따라 성공적으로 한 응용 프로그램을 실행했다. 동일한 키 스토어를 사용합니다. 실제로 다른 키 해시를 표시하는 이유는 무엇입니까? 그것이 나를 혼란스럽게 만드는 이유입니다. – Aveek

답변

1

2 개의 키 해시가 있기 때문입니다. Android 디버그 대신 사용자 정의 키 저장소를 사용하여 Google Play에 애플리케이션을 게시 할 때 디버깅 용이고 두 번째는 출시 용입니다.

이클립스/Android Studio에서 애플리케이션을 실행하고 있고 이전 앱처럼 이미 Facebook Developer Console에 포함되어있는 디버그 키 스토어 키 해시를 사용하는 것처럼 들릴 수 있습니다.

다른 키 저장소를 사용하여 APK를 내보내는 경우 위에서 언급 한 온라인 예처럼이 키 저장소에 해시 키를 가져와야합니다.

APK에 디버그 키 저장소로 로그인하는지 또는 자신의 APK에 로그인했는지 알고 있습니다. 그렇게하면 답을 더 간단하게 만들 수 있습니다.

관련 문제