Facebook HashKey Android

时间:2014-07-04 19:06:24

标签: android facebook facebook-graph-api

我正在关注Facebook的教程,一切都很好。示例应用程序工作正常,但今天我得到了:

Invalid key hash. The key hash HP... does not match any stored key hashes. Configure your app key hashes at http://developers.facebook.com/app/NUMBEROFSAMPLEAPP (355198514515820)

我已经添加了两个密钥:第一个使用java的keytool,另一个使用Facebook教程中给出的代码:https://developers.facebook.com/docs/android/getting-started。第一个以DBxxxx开头,第二个以HPxxxx开头。

我应该使用哪一个?我必须在密钥的末尾添加“=”吗?如果我添加了两个键,为什么它不起作用?

这是我为获取密钥而添加的代码:

    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                "com.facebook.samples.hellofacebook", 
                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) {

    }

1 个答案:

答案 0 :(得分:2)

对于facebook SDK版本3.18:
你的钥匙需要长度为28。所以回答你的第一个问题:你必须添加" ="如果您的密钥长度小于28,则最后 试着给你第二个问题的答案(为什么它不起作用......)。您需要使用为Facebook创建的App ID更新示例应用程序" Sample App"或developers.facebook.com/apps上的任何内容。
尝试阅读所有教程:developers.facebook.com/docs/android/getting-started/#samples

换句话说,您需要使用Facebook的应用ID链接任何应用 如果您需要更多帮助,只需要求它;)

顺便提一句,3个好的提示:

  1. 当您在Facebook上创建应用程序时,它会为您提供更好的FB上新应用程序向导。

  2. 您根本不必按照这些教程来查看动作示例。只需创建应用程序,从FB上的左上角菜单(应用程序)中选择它,然后按"设置"在下面的Dashboard(在左侧面板上)并添加在教程中创建的哈希键。在您的项目(eclipse或Android Studio)中,更改" app_id"的字符串值。在/res/values/strings.xml上可用于"设置"页。

  3. 默认情况下,您无法看到朋友的列表:S ...如果您想看到它,您必须将您的应用程序提交到Facebook。