0

在我的 Android 应用程序中,我将 Facebook 功能与“SSO”功能集成在一起。我的应用程序显示以下异常:

从手机抓拍

我使用以下命令创建了“密钥哈希”:

c:\Program Files\Java\jdk1.7.0_07\bin>keytool -exportcert -alias androiddebugkey -keystore "C:\Users\Fssd1\.android\debug.keystore" | "C:\OpenSSL\bin\openssl" sha1 -binary |"C:\OpenSSL\bin\openssl" base64

并将密钥哈希放在 facebook 应用程序详细信息中: Facebook 应用程序创建页面

我做了以下事情:

  1. 下载了 facebook 库 3.0.2

  2. 我直接从 eclipse 运行应用程序到移动设备。

  3. 我也拥有“离线”登录的所有必要权限。

  4. 我的应用程序在模拟器中运行,而不是在移动设备中运行(Facebook 默认应用程序安装在移动设备中)。

我花了很多时间找出原因,但找不到。

我的疑问是为什么 facebook 显示不同的密钥与从上面使用的命令生成的密钥哈希。

创建密钥哈希有什么问题吗?如果那么如何以赖特方式创建?

为什么我的应用无法使用 SSO?

我的过程中有什么遗漏/错误吗?

是否需要在 AndroidManifest.xml 文件中添加任何内容?例如“单实例”。

请协助我使用 SSO 制作我的应用程序。

提前致谢!。

4

1 回答 1

2

使用此命令创建哈希键。将哈希键打印到 LogCat 并将其复制粘贴到 Facebook:

private void printHashKey()
{
    try
    {
        PackageInfo info = getPackageManager().getPackageInfo("com.your.package",
            PackageManager.GET_SIGNATURES);
        for (Signature signature: info.signatures)
        {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("YOUR HASH KEY:",
                Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    }
    catch (NameNotFoundException e)
    {

    }
    catch (NoSuchAlgorithmException e)
    {

    }
}

确保替换com.your.package为您的应用程序包。

于 2013-08-01T15:30:16.060 回答