Facebook样本加载错误密钥哈希?

时间:2014-05-02 05:23:29

标签: android facebook facebook-android-sdk

我尝试将facebook sdk(版本:3.14)整合到我的应用中,但我很快遇到了keyhash问题

当我运行命令

keytool -exportcert -alias androiddebugkey -keystore~ / .android / debug.keystore | openssl sha1 -binary | openssl base64

我得到了这个密钥哈希: 的 XHAAVbh9dOufRUPyIWm / 9ws5q10 =

但是当我尝试运行facebook示例发布内容到fb wall时(项目名称:HelloFaceBookSample) 我得到了很多错误,它让我非常困惑,因为在logcat中我带错误日志:

com.facebook.http.protocol.ApiException:(#404)密钥哈希 XHAAVbh9dOufRUPyIWm_9ws5q10 与任何存储的密钥哈希都不匹配。

facebook sdk出错密钥哈希?

2 个答案:

答案 0 :(得分:3)

在代码中使用它来获取keyhash:

public void KEY(){
        try {
            PackageInfo info =     getActivity().getPackageManager().getPackageInfo("com.YourPackageName",     PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
                Log.e("MY KEY HASH:", sign);
                Toast.makeText(getActivity().getApplicationContext(),sign,     Toast.LENGTH_LONG).show();
                System.out.println(sign); 
            }
        } catch (NameNotFoundException e) {
        } catch (NoSuchAlgorithmException e) {
        }
    }

确保在FB dev控制台上提供正确的密钥哈希。

答案 1 :(得分:3)

如果您使用的是eclipse,则可以直接使用此链接生成哈希密钥。

转到Eclipse - >窗口 - >偏好 - > Android - >建立。并复制SHA1值并将其粘贴到下面提供的链接中。您可以使用从站点生成的密钥哈希并将其粘贴到Facebook设置上。

http://tomeko.net/online_tools/hex_to_base64.php?lang=en