Hashkey不匹配android facebook应用程序
下载了最近的facebook android sdk 3.7,我尝试在sdk中运行示例应用程序。当我尝试helloFacebookSample应用程序时,我遇到了哈希键问题。我在网上搜索,得到了正确的hashkey,即Hashkey不匹配android facebook应用程序,android,facebook,sdk,key,mismatch,Android,Facebook,Sdk,Key,Mismatch,下载了最近的facebook android sdk 3.7,我尝试在sdk中运行示例应用程序。当我尝试helloFacebookSample应用程序时,我遇到了哈希键问题。我在网上搜索,得到了正确的hashkey,即dsygoiijukyhy/duT1e72ZHl5U= 我的应用程序显示“hashkey未存储”错误。当我记录我的示例应用hashkey时,我发现发生了奇怪的事情 我正在使用以下代码: Toast.makeText(getApplicationContext(),Base64.en
dsygoiijukyhy/duT1e72ZHl5U=
我的应用程序显示“hashkey未存储”错误。当我记录我的示例应用hashkey时,我发现发生了奇怪的事情
我正在使用以下代码:
Toast.makeText(getApplicationContext(),Base64.encodeToString(md.digest(), Base64.DEFAULT), Toast.LENGTH_LONG).show();
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
Toast.makeText(getApplicationContext(),Base64.encodeToString(md.digest(), Base64.DEFAULT), Toast.LENGTH_LONG).show();
同一段代码显示不同的哈希键
DSygOIIJUkYyHy/duT1e72ZHl5U=
2jmj7l5rSw0yVb/vlWAYkK/YBwk=
当我试图发布状态时,它会显示一个不同的hashkey
DSygOIIJUkYyHy_duT1e72ZHl5U=
我已经在我的示例应用程序中存储了所有三个hashkey,但它仍然显示此错误。当应用程序生成的hashkey与您在facebook开发者网站中放置的hashkey不匹配时,通常会出现此问题。尝试以编程方式生成hashkey,并将其放在开发人员站点中。希望此解决方案有帮助当你的应用程序生成的哈希键与你放在facebook开发者网站上的哈希键不匹配时,通常会出现此问题。尝试以编程方式生成hashkey,并将其放在开发人员站点中。希望此解决方案有帮助同样的问题也发生在我身上,我不知道出了什么问题,然后我意识到我用来生成密钥散列的密钥存储是另一个密钥存储,如果你签署了你的应用程序,你将得到一个.jks密钥存储文件,你必须在生成密钥散列的代码中指定该文件的路径,如
keytool -list -v -keystore yourkeystore_path/yourkeystore.jks -alias your_aliase_name
密钥库文件的名称和别名应与您在应用程序上签名时的名称相同,然后确保您获得正确的代码
然后还有一个解决方法,就是写下错误中显示的代码,并将其放在keyhash字段中,简单如下
希望它有帮助同样的问题也发生在我身上,我不知道出了什么问题,然后我意识到我用来生成密钥散列的密钥存储是另一个密钥存储,如果你签署了你的应用程序,你将得到一个.jks密钥存储文件,你必须在生成密钥散列的代码中指定该文件的路径,如
keytool -list -v -keystore yourkeystore_path/yourkeystore.jks -alias your_aliase_name
密钥库文件的名称和别名应与您在应用程序上签名时的名称相同,然后确保您获得正确的代码
然后还有一个解决方法,就是写下错误中显示的代码,并将其放在keyhash字段中,简单如下
希望这对你有所帮助如果你遵循这一点,它应该是正确的。我在facebook上创建了一个新的应用程序,并再次重复了同样的过程。它现在正在工作。但是我仍然不明白为什么Base64.encodeToString(md.digest(),Base64.DEFAULT)会给我两个不同的值。你得到了正确的哈希键吗?是的,我得到了。我不明白为什么在run two time向我显示两个不同的哈希键时,以编程方式Base64.encodeToString(md.digest(),Base64.DEFAULT)显示两个不同的哈希键。如前所述,这一行为我们提供的hashkey将保持不变,无论我运行这一行多少次。但它显示的是原始的hashkey,然后是另一个hashkey。如果你按照这个操作,它应该是正确的。我在facebook上创建了一个新的应用程序,并再次重复了相同的过程。它现在正在工作。但是我仍然不明白为什么Base64.encodeToString(md.digest(),Base64.DEFAULT)会给我两个不同的值。你得到了正确的哈希键吗?是的,我得到了。我不明白为什么在run two time向我显示两个不同的哈希键时,以编程方式Base64.encodeToString(md.digest(),Base64.DEFAULT)显示两个不同的哈希键。如前所述,这一行为我们提供的hashkey将保持不变,无论我运行这一行多少次。但它显示的是原始的hashkey,然后是另一个hashkey