【问题标题】:Facebook SDK Key Hash - forgotton?Facebook SDK 密钥哈希 - 忘记了吗?
【发布时间】:2015-04-21 15:09:18
【问题描述】:

我已经在我的 Android 应用程序中正确实现了 Facebook SDK,我相信开发密钥哈希等,我正在测试登录功能。我第一次使用该功能时,Facebook 页面向我展示了通常的“此应用程序想访问您的简历个人资料”和我的图片,点击接受后,我返回应用程序,成功。但是第二次,从现在开始点击登录按钮时显示以下错误。

“此应用未配置安卓密钥哈希。在“http://developer.facebook.com/apps/28748493729”配置您的应用密钥哈希

似乎设置在使用一次后以某种方式忘记了我的密钥哈希,但是当我访问提供的链接时,它显示开发密钥哈希仍然存在。我是否错过了密钥哈希如何工作的概念?

任何帮助表示赞赏,

谢谢。

【问题讨论】:

  • 您是否在开发者应用详情网站中添加了哈希?

标签: android eclipse facebook facebook-sdk-3.0


【解决方案1】:
public static String getKeyHash(Context context, String packageName) {
try {
    PackageInfo info = context.getPackageManager().getPackageInfo(
            packageName,
            PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String keyHash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
        return keyHash;
    }
} catch (PackageManager.NameNotFoundException e) {
    return null;
} catch (NoSuchAlgorithmException e) {
    return null;
}
return null;

}

使用上述方法生成哈希键并将其添加到 facebook 开发者应用程序详细信息中

你最好使用新的 sdk,即 Facebook sdk4

【讨论】:

  • 感谢您的及时回复。现在就试一试。
  • 当我通过使用 openssl 从命令行生成哈希将 facebook 集成到我的应用程序时遇到了这个错误,我希望这对你也有用
  • 这行得通,看来这比使用 openssl 命令行替代方法获得哈希键要好得多。非常感谢 VAISAKH。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-30
  • 2013-11-10
相关资源
最近更新 更多