gpt4 book ai didi

android - UnknownError : ApiException:Key hash **** does not match. .. 当我安装 FB 应用程序时

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:12:06 25 4
gpt4 key购买 nike

我首先要说明的是,我对 java 和 android 开发还很陌生,可能错过了一些简单的东西。我正在研究 Facebook 示例“sessionlogin”。它在没有 Facebook 应用程序时有效。当我安装 Facebook 应用程序并尝试运行代码时,它失败并出现错误

UnknownError: ApiException:Key hash BGyx5d0rMOuY9aQqZK4B9q04+no does not match any stored key hashes

我得出的第一件事是很明显 key 不匹配,但为什么呢?我很困惑为什么该应用程序可以在没有该应用程序的情况下运行以及 FB 应用程序的哈希键有何区别?它使用我的应用程序的 key 吗? FB 应用程序是否需要已签名的应用程序才能访问其数据?

至于我所做的一些事情,我添加了一段代码以在应用程序开始时输出哈希键。在所有情况下,都会显示 BGyx5d0rMOuY9aQqZK4B9q04+no=。该应用程序一直处于 Debug模式,因此我按照此 solution 中的说明签署并发布了该应用程序.作为返回,我使用的散列是 egNzXZN1fDDeK7PNL+QzHDAKUsg=(在 FB 上,从控制台 cmd ln 返回),但当应用程序实际运行时,代码 fragment 返回 BW0xQ5kipPoWYWWJd1g3yaKCe6M=。

在阅读了数十篇文章并完成了其中大约一半的文章之后,我浪费了很多时间试图了解自己做错了什么,而现在我完全一无所知。如何获得一个工作示例?我是否缺少一些基本配置?

详细信息:

  • Java 7 第 25 版
  • win 8 64位
  • ADT( eclipse )

最佳答案

来自 this 的故障排除部分指南,将此添加到您的 onCreate:

try {
PackageInfo info = context.getPackageManager().getPackageInfo(
"com.mypackage.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 (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

添加显示的 keyHash。它与您的错误日志中的非常相似,但用/& - 替换

关于android - UnknownError : ApiException:Key hash **** does not match. .. 当我安装 FB 应用程序时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19576791/

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