Android Facebook登录哈希键错误
我的facebook登录有问题。我使用下面的代码登录facebook,但它给了我无效的密钥哈希错误。我也向facebook开发者添加了哈希键,但我不知道不能登录facebook有什么问题?以前它是登录的,但现在它给出了hashkey错误Android Facebook登录哈希键错误,android,facebook,Android,Facebook,我的facebook登录有问题。我使用下面的代码登录facebook,但它给了我无效的密钥哈希错误。我也向facebook开发者添加了哈希键,但我不知道不能登录facebook有什么问题?以前它是登录的,但现在它给出了hashkey错误 public void loginToFacebook() { mPrefs = getPreferences(MODE_PRIVATE); access_token = mPrefs.getString("access_token", nu
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);
}
在setContentView()之后,通过在主活动中输入以下代码来生成哈希键
并从facebook仪表板中的日志和过去复制哈希代码在setContentView()之后的主活动中输入下面的代码,生成哈希键
并从facebook仪表板的Log和past中复制哈希代码。您可以通过两个步骤获得哈希键。一种是通过命令提示符。另一个是通过编码。仅在第一次使用时通过命令提示符哈希键。因此,请尝试使用通过编程生成的hashkey 在OnCreate()中
运行代码后,您将在logcat中获得哈希键。将该哈希键放入Facebook开发者帐户页面的设置页面。您可以通过两个步骤获得哈希键。一种是通过命令提示符。另一个是通过编码。仅在第一次使用时通过命令提示符哈希键。因此,请尝试使用通过编程生成的hashkey 在OnCreate()中
运行代码后,您将在logcat中获得hashkey。将该hashkey放入Facebook开发者帐户页面的设置页面。如果它在运行之前起作用,我建议等待几个小时,因为从今天早上开始,包括我在内的许多安卓开发者都将面临这个问题
根据官方成员的评论,它应该在接下来的几个小时内得到解决。如果它在工作之前,我会建议等待几个小时,因为从今天早上开始,包括我在内的许多android开发者都面临着这个问题
根据官方成员的评论,它应该在接下来的几个小时内得到解决。尝试在开发者帐户中复制错误哈希键无效的哈希键。卡什杂烩。。。。。。。。不匹配任何存储的密钥哈希。在http://developer.facebook上配置你的应用程序密钥散列..../我使用的是相同的散列密钥,我生成了它,但我仍然不知道为什么它会出现错误以前它工作得很好,但从今天开始它会出现这样的错误你可以参考这个问题..尝试在你的开发人员帐户中复制错误散列密钥无效密钥散列。卡什杂烩。。。。。。。。不匹配任何存储的密钥哈希。在http://developer.facebook上配置你的应用程序密钥散列..../我使用的是相同的散列密钥,我生成了它,但我仍然不知道为什么它会出现错误以前它工作得很好,但从今天开始它会出现这样的错误你可以参考这个问题..我在上面解释过,这不是散列密钥问题,我使用了相同的hashkey,我使用这段代码来获取hashkey,但仍然存在登录更改您的hash key re Do hash key process的问题我在上面解释过,这不是hashkey的问题,我使用了相同的hashkey,我使用了这段代码来获取hash key,但是仍然存在登录更改您的hash key的问题重新执行hash key进程我不再工作了,我使用了这段代码10多次,错误是其他原因。它一直工作到今天,但从今天开始出现此错误。没有注销错误,我只是在连接facebook时遇到问题。它说哈希无效。我删除应用程序并重新创建,使用openssl和上面代码的检查创建哈希密钥,并将其添加到facebook开发者,但仍然无法连接,无法再次工作,这个代码我用了10多次,错误是别的。它一直工作到今天,但从今天开始出现此错误。没有注销错误,我只是在连接facebook时遇到问题。它说哈希无效。我删除应用程序并再次创建它,使用openssl创建哈希密钥,使用上述代码检查并将其添加到facebook开发者,但仍然无法连接。您是唯一的用户你是唯一给我正确答案的人再次感谢
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) {
}
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) {
}