gpt4 book ai didi

Android Facebook SSO 登录失败 : invalid_key:Android key mismatch

转载 作者:行者123 更新时间:2023-11-29 16:16:16 25 4
gpt4 key购买 nike

因此,我在我的 Android 应用程序中实现了一个 facebook SSO,可以将帖子发送到 FB 墙上。在整个开发过程中,无论是在模拟器上还是在我的手机上,一切都运行良好。我已经将我的 debyg.keystore 中的哈希值提供给 FB 应用程序,一切正常。现在,当我导出准备好的应用程序并对其进行签名时,我为发布 key 生成了一个新的哈希值并将其放入应用程序设置中。安装后,它在我的手机上仍然可以完美运行,但在其他任何人的手机上都无法正常运行。所以我连接了另一部电话并在尝试将消息发送到墙上时检查了日志。每次得到休闲响应:

02-10 19:41:04.802: D/Facebook-authorize(26750): 登录失败:invalid_key:Android key 不匹配。您的 key “pwrvr9ALAVF7yAL5pKmGWRwR8i0”与应用程序设置中指定的允许 key 不匹配。在 http://www.facebook.com/developers 检查您的应用程序设置

我已经在我的手机和其他手机上重新安装了无数次,但还是一样。这是导致授权然后发布到墙上或直接发布到墙上的代码 fragment :

 // Check if connected to the internet first
if (connected())
{


//Get existing access_token if any

mPrefs = getPreferences(MODE_PRIVATE);
String access_token = mPrefs.getString("access_token", null);
long expires = mPrefs.getLong("access_expires", 0);

if(access_token != null)
{
facebook.setAccessToken(access_token);
}

if(expires != 0)
{
facebook.setAccessExpires(expires);
}


// Only call authorize if the access_token has expired.

if(!facebook.isSessionValid())
{
facebookAuthorizeAndPost(msg);
}
else
{
posToFBWall(msg);
}

}
else
{
Toast.makeText(getBaseContext(), "There's been a problem connecting to Facebook. Please make sure you're connected to the internet and try again", Toast.LENGTH_SHORT).show();
}

下面是执行实际授权并在成功时委托(delegate)给 postToFBWall() 方法的代码段:

private void facebookAuthorizeAndPost(final String msg)
{
facebook.authorize(this, new String[] {}, new DialogListener() {
@Override
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();

if (values.containsKey("access_token"))
{
posToFBWall(msg);
}

}

@Override
public void onFacebookError(FacebookError error) {}

@Override
public void onError(DialogError e) {}

@Override
public void onCancel() {}
});

}

这里做错了什么?更重要的是,Android key 不匹配错误是什么意思,为什么会发生?任何想法,指点表示赞赏。

最佳答案

根据报错,我怀疑是关键问题,生成错误。有时 keyhash 指令根本不起作用。尽管遵循了 T 的说明,但我在获取正确的 key 哈希时遇到了类似的问题。

就是说,为了确保您拥有正确的 key ,我建议使用一个 android 程序,它会告诉您正确的 key 哈希,例如:http://www.easyfacebookandroidsdk.com/download/keyhash.zip

您需要做的就是导入项目并使用与您将用于签署 facebook 应用程序的 keystore 相同的 keystore 对其进行签名。然后只需安装并运行它,它就会显示 key 哈希。

编辑

您可能还需要仔细检查您的 key “pwrvr9ALAVF7yAL5pKmGWRwR8i0”是否确实在开发者页面上列为您应用的 key 之一。

关于Android Facebook SSO 登录失败 : invalid_key:Android key mismatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9240416/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com