首页 文章

如果安装了Native Facebook应用程序,则无法使用SDK登录Facebook

提问于
浏览
-1

在我在Play商店发布之前,我已经在我的应用程序和所有作品中集成了Facbook SDK . 当我发布应用程序时,如果安装了Facebook应用程序,则不再登录Facebook .

错误是:

com.facebook.http.protocol.ApiException: Key hash xxxxxxxxxxxxx does not match any stored key hashes.

但是我将这个新密钥哈希和旧密钥哈希(调试版本)保存到我的Facebook应用程序设置中 .

只有在设备中安装了Facebook应用程序时才会发生这种情况,如果没有我没有这个问题 .

1 回答

  • 0

    我发现了这个bug . Facebook在错误堆栈跟踪中显示错误的密钥哈希 .

    Facebook以某种方式取代角色 . 对于我的情况:我将' - '更改为''并在键的末尾添加'='并为我工作 .

    为了100%安全,请在onCreate()中使用此代码生成密钥哈希 .

    private void generateHashKey() {
        // Add code to print out the key hash
        try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "your.package.name", PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                System.out.println("KeyHash:" + Base64.encodeToString(md.digest(),Base64.DEFAULT));
            }
        } catch (NameNotFoundException e) {
    
        } catch (NoSuchAlgorithmException e) {
    
        }
    }
    

相关问题