Facebook SDK 密钥哈希 - 忘记了吗?
Posted
技术标签:
【中文标题】Facebook SDK 密钥哈希 - 忘记了吗?【英文标题】:Facebook SDK Key Hash - forgotton? 【发布时间】:2015-04-21 15:09:18 【问题描述】:我已经在我的 android 应用程序中正确实现了 Facebook SDK,我相信开发密钥哈希等,我正在测试登录功能。我第一次使用该功能时,Facebook 页面向我展示了通常的“此应用程序想访问您的简历个人资料”和我的图片,点击接受后,我返回应用程序,成功。但是第二次,从现在开始点击登录按钮时显示以下错误。
“此应用未配置安卓密钥哈希。在“http://developer.facebook.com/apps/28748493729”配置您的应用密钥哈希
似乎设置在使用一次后以某种方式忘记了我的密钥哈希,但是当我访问提供的链接时,它显示开发密钥哈希仍然存在。我是否错过了密钥哈希如何工作的概念?
任何帮助表示赞赏,
谢谢。
【问题讨论】:
您是否在开发者应用详情网站中添加了哈希? 【参考方案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。以上是关于Facebook SDK 密钥哈希 - 忘记了吗?的主要内容,如果未能解决你的问题,请参考以下文章
关于 Android 版 Facebook SDK 的开发和发布密钥哈希的问题
无效的密钥哈希。密钥哈希与任何存储的密钥哈希不匹配 facebook android