Facebook sdk 3.0 android
我已经在developer.facebook.com上无数次浏览了android版hello world facebook应用程序的基本教程,以确保我没有犯错误,但我收到了错误“remote_app_id与存储的id不匹配”,但它确实匹配,并且不确定为什么会抛出该错误。此外,当我运行样本时,我得到一个失败的活页夹事务。现在奇怪的是,如果我卸载手机上的fb应用程序,并强制用户登录facebook,那么基本的hello world应用程序就可以工作了。是我做错了什么,还是这是facebook sdk的问题。我已经下载并重新安装了所有内容,但仍然解决了相同的问题 散列值是错误的。这似乎是一个windows问题或人类方面的失败。 我用过: “keytool.exe的位置”-exportcert-别名-keystore“keystore的位置”|“openssl.exe的位置”sha1-binary |“openssl.exe的位置”base64 得到了错误的散列值。无论如何,我找到了这篇文章 下载并运行keygeneration应用程序,并从logcat中获取哈希值。 这对于调试键很好,但不确定何时将程序释放到野外 希望这有助于解决问题 散列值是错误的。这似乎是一个windows问题或人类方面的失败。 我用过: “keytool.exe的位置”-exportcert-别名-keystore“keystore的位置”|“openssl.exe的位置”sha1-binary |“openssl.exe的位置”base64 得到了错误的散列值。无论如何,我找到了这篇文章 下载并运行keygeneration应用程序,并从logcat中获取哈希值。 这对于调试键很好,但不确定何时将程序释放到野外 希望这有帮助另一个可能的错误(发生在我身上)是:在Facebook应用程序控制台设置“密钥哈希”,并使用另一个密钥库对android应用程序进行签名 不幸的是,这是由于导致此错误而导致的。它说android开发人员应该在您的示例中使用默认的android调试密钥,但没有解释密钥散列应该使用您将为应用程序签名的相同密钥库生成 我的建议是在facebook控制台上设置两个关键哈希:Facebook sdk 3.0 android,android,facebook,facebook-android-sdk,Android,Facebook,Facebook Android Sdk,我已经在developer.facebook.com上无数次浏览了android版hello world facebook应用程序的基本教程,以确保我没有犯错误,但我收到了错误“remote_app_id与存储的id不匹配”,但它确实匹配,并且不确定为什么会抛出该错误。此外,当我运行样本时,我得到一个失败的活页夹事务。现在奇怪的是,如果我卸载手机上的fb应用程序,并强制用户登录facebook,那么基本的hello world应用程序就可以工作了。是我做错了什么,还是这是facebook sdk
try {
PackageInfo info = getPackageManager().getPackageInfo("com.eatapp", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
在您的主要活动中:-)这是我在Android SDK 3.0中唯一可以使用的解决方案
try {
PackageInfo info = getPackageManager().getPackageInfo("com.eatapp", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
在您的主要活动中:-)如果您使用snippet change Log.i(“PXR”,Base64.encodeToString(md.digest(),0)),这是我在Android SDK 3.0中唯一有效的解决方案;如果使用代码段change Log.i(“PXR”,Base64.encodeToString(md.digest(),0));