您创建的每个Android应用都会被签名,您需要在Facebook上注册每个应用的密钥哈希作为真实性的安全检查。
keytool -exportcert -alias androiddebugkey -keystore" C:\ Users \ DELL.android \ debug.keystore" | " C:\ OpenSSL的\ BIN \ OpenSSL的" sha1 -binary |" C:\ OpenSSL \ bin \ openssl" BASE64
我通过上面的命令生成了hashkey,并在Facebook开发者帐户中进行了更新。
所以,每当我的应用程序向facebook发出请求时,这个hashkey都将通过Facebook SDK动态生成,并将根据存储在Facebook dveoper页面中的hashkey进行检查。
答案 0 :(得分:0)
尝试使用此代码生成哈希密钥
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.facebook.samples.hellofacebook",
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) {
}