在Facebook上散列关键问题

时间:2014-07-14 14:35:57

标签: android facebook

我正在尝试将facebook整合到我的全新Android应用程序中。但我不能通过facebook提供的教程来实现。 https://developers.facebook.com/docs/android/getting-started

我试图从提供的命令中获取haskkey:

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64

结果如下: https://www.dropbox.com/s/s711ldu1y0aa6xo/screen.png

所以我按照教程中的要求将它添加到我的facebook develloper帐户中,但由于它不起作用,我尝试从以下代码中获取hashkey。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Add code to print out the key hash
    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.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
            }
    } catch (NameNotFoundException e) {

    } catch (NoSuchAlgorithmException e) {

    }

我得到相同的结果意味着我的钥匙是正确的......你们知道这个问题会从哪里来吗?

1 个答案:

答案 0 :(得分:1)

此解决方案包含您在问题中提到的代码:

您正在使用调试密钥获取哈希键...如果您未在调试模式下签署包并运行应用程序,则可能会有效。你需要做的是:

0)将该代码放入您的任何活动中。

1)转到清单文件并添加到应用程序android:debuggable =" true"。

2)现在运行你的应用程序并监控logcat。

3)你会得到一个新的密钥,它是x9SLcMXBlgly1f36PJuuc4a3YAc的匹配密钥,你得到的密钥现在在最后一个有一个=符号。

4)在facbook开发者网站上注册此密钥

替代技巧

你可以做另外一件事只需将这个密钥注册到facebook开发者网站x9SLcMXBlgly1f36PJuuc4a3YAc =

只需将facebook添加到Facebook应用程序显示的键。

你结束了!!希望这会奏效。