【问题标题】:Facebook message remote_app_id does not match stored idFacebook 消息 remote_app_id 与存储的 ID 不匹配
【发布时间】:2013-09-06 21:26:52
【问题描述】:

首先我意识到之前有人问过这个问题,我已经阅读了这些帖子并搜索了网络并尝试了示例,但在运行我的应用程序时仍然出现此错误:

09-06 16:09:47.010: W/fb4a(:):BlueServiceQueue(3237): com.facebook.http.protocol.ApiException: remote_app_id 与存储的 id 不匹配

我可以从 Eclipse 运行该应用程序,它运行良好。我遇到的问题是当我将项目导出到 APK 并将其通过电子邮件发送给测试人员并且他们安装它时不起作用。我正在使用我的 Play 商店密钥库导出它,所以我确定这与 hashkey 有关,但我无法弄清楚这一点,非常感谢我能得到的任何建议。

我已经使用 keytool 生成了 hashkey,使用的密钥库和别名与我导出文件时相同:

keytool.exe -exportcert -alias android_market -keystore E:\Droid Projects\keystore_market.keystore | C:\Java\openssl\bin\openssl sha1 -binary | C:\Java\openssl\bin\openssl base64

我读过很多帖子说这有时会给出错误的哈希键,所以我也把这段代码放在我的 onCreate 中,以便在 logcat 和屏幕上生成它,然后再次导出 apk:

try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.my.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));
            Toast.makeText(NoteFBHome.this, Base64.encodeToString(md.digest(), Base64.DEFAULT), Toast.LENGTH_LONG).show();
            }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

在有人问我之前,我确实在代码中输入了我的实际包名 :) 但这给了我相同的密钥。然后我注意到 Facebook 开发者控制台说可能需要几分钟才能访问所有服务器,但我现在已经等了几个小时,仍然出现同样的错误。

我使用旧的 Facebook SDK 阅读到,您可以修改实际的 Facebook 代码以显示它正在寻找的哈希键,但代码似乎在 3.0 版中发生了更改。

我确定我遗漏了一些东西,但我想我已经看了很长时间了,我只是看不到它。如果有人有任何对他们有用的技巧或其他想法来找出哈希键错误的原因,我将不胜感激。

解决方案:

只是想提供一个更新,我能够解决这个问题,并为任何有类似问题的人提供任何帮助。即使您的字符串错误,keytool 也会提供一个 hashkey。就我而言,这是因为我的密钥库文件的路径不正确。最终让我意识到这是另一篇帖子,表明应该提示我输入密钥库密码,但我从来没有。因此,对于遇到此问题的其他任何人,如果未提示您输入密码,则可能是 keytool 字符串不正确。希望这会有所帮助。

【问题讨论】:

  • 允许在 SO 上回答您自己的问题。您应该将解决方案作为答案发布,以便其他人更容易找到。

标签: android facebook hash sdk


【解决方案1】:

解决方案:

只是想提供一个更新,我能够解决这个问题,并为任何有类似问题的人提供任何帮助。即使您的字符串错误,keytool 也会提供一个 hashkey。就我而言,这是因为我的密钥库文件的路径不正确。最终让我意识到这是另一篇帖子,表明应该提示我输入密钥库密码,但我从来没有。因此,对于遇到此问题的其他任何人,如果未提示您输入密码,则可能是 keytool 字符串不正确。希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-07
    • 1970-01-01
    • 2013-02-07
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多