通过应用程序登录Facebook SDK 3.5无效

作为

我现在真的很困惑。我尝试从我的应用程序登录到Facebook。当未安装本机FB App时,此方法工作正常。我获得了Acces令牌并可以使用它。但是,如果设备已安装了facebook应用程序,并且该应用程序在登录请求中启动,那么我不会获得Acces令牌,但以下情况除外

11-11 11:10:50.510: W/System.err(19215): com.facebook.FacebookAuthorizationException: UnknownError: ApiException:Key hash Djug8pU5w1DRPIxRaRf2N-4JniU does not match any stored key hashes.
11-11 11:10:50.510: W/System.err(19215):    at com.facebook.Session.handleAuthorizationResult(Session.java:1078)
11-11 11:10:50.510: W/System.err(19215):    at com.facebook.Session.onActivityResult(Session.java:554)
11-11 11:10:50.510: W/System.err(19215):    at com.lochmann.fb.viergewinntmultiplayer.MainActivity.onActivityResult(MainActivity.java:266)
11-11 11:10:50.510: W/System.err(19215):    at android.app.Activity.dispatchActivityResult(Activity.java:5322)
11-11 11:10:50.510: W/System.err(19215):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3363)
11-11 11:10:50.510: W/System.err(19215):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3410)
11-11 11:10:50.510: W/System.err(19215):    at android.app.ActivityThread.access$1100(ActivityThread.java:141)
11-11 11:10:50.510: W/System.err(19215):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1304)
11-11 11:10:50.510: W/System.err(19215):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-11 11:10:50.510: W/System.err(19215):    at android.os.Looper.loop(Looper.java:137)
11-11 11:10:50.510: W/System.err(19215):    at android.app.ActivityThread.main(ActivityThread.java:5103)
11-11 11:10:50.510: W/System.err(19215):    at java.lang.reflect.Method.invokeNative(Native Method)
11-11 11:10:50.510: W/System.err(19215):    at java.lang.reflect.Method.invoke(Method.java:525)
11-11 11:10:50.510: W/System.err(19215):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-11 11:10:50.510: W/System.err(19215):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-11 11:10:50.510: W/System.err(19215):    at dalvik.system.NativeStart.main(Native Method)
11-11 11:10:50.510: W/System.err(19215): com.facebook.FacebookAuthorizationException: UnknownError: ApiException:Key hash Djug8pU5w1DRPIxRaRf2N-4JniU does not match any stored key hashes.
11-11 11:10:50.510: W/System.err(19215):    at com.facebook.Session.handleAuthorizationResult(Session.java:1078)
11-11 11:10:50.510: W/System.err(19215):    at com.facebook.Session.onActivityResult(Session.java:554)
11-11 11:10:50.515: W/System.err(19215):    at com.lochmann.fb.viergewinntmultiplayer.MainActivity.onActivityResult(MainActivity.java:266)
11-11 11:10:50.515: W/System.err(19215):    at android.app.Activity.dispatchActivityResult(Activity.java:5322)
11-11 11:10:50.515: W/System.err(19215):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3363)
11-11 11:10:50.515: W/System.err(19215):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3410)
11-11 11:10:50.515: W/System.err(19215):    at android.app.ActivityThread.access$1100(ActivityThread.java:141)
11-11 11:10:50.515: W/System.err(19215):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1304)
11-11 11:10:50.515: W/System.err(19215):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-11 11:10:50.520: W/System.err(19215):    at android.os.Looper.loop(Looper.java:137)
11-11 11:10:50.525: W/System.err(19215):    at android.app.ActivityThread.main(ActivityThread.java:5103)
11-11 11:10:50.525: W/System.err(19215):    at java.lang.reflect.Method.invokeNative(Native Method)
11-11 11:10:50.525: W/System.err(19215):    at java.lang.reflect.Method.invoke(Method.java:525)
11-11 11:10:50.525: W/System.err(19215):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
11-11 11:10:50.525: W/System.err(19215):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
11-11 11:10:50.525: W/System.err(19215):    at dalvik.system.NativeStart.main(Native Method)

我确实认为我掌握了正确的哈希键,因为:

public static String getKeyHash(Context context) {
    String returner = "";
    try {
        PackageInfo info = context.getPackageManager().getPackageInfo(
                "com.lochmann.fb.viergewinntmultiplayer", PackageManager.GET_SIGNATURES);
        for (Signature signature : info.signatures) {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            returner = Base64.encodeToString(md.digest(), Base64.DEFAULT);
            Log.e("MY KEY HASH:",
                    Base64.encodeToString(md.digest(), Base64.DEFAULT));
        }
    } catch (NameNotFoundException e) {
        e.printStackTrace();
        Log.e("ERROR", "NO NAME");
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
        Log.e("ERROR", "NO ALGO");

    }
    return returner;
}

退货 11-11 11:10:42.445: E/MY KEY HASH:(19215): 2jmj7l5rSw0yVb/vlWAYkK/YBwk=

FB后端中的“我的设置”如下所示:

在此处输入图片说明

有人对我有暗示吗,我做错了什么或我可以尝试做什么?

提前致谢。

奇汉·图尔凯

如果您在活动之外调用该方法,它将始终返回错误的密钥哈希[2jmj7l5rSw0yVb / vlWAYkK / YBwk =]。尝试在您的活动中打印它(oncreate)。其实不知道为什么,但是对我有用。希望能对某人有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自Android应用程序的Facebook背景共享(Facebook SDK 3.x)

Facebook iOS SDK 4.2:适用于多个应用程序环境的无效URL方案

尝试实现Facebook登录时无效的应用程序ID

Facebook Signed_request通过移动应用程序无效

Facebook SDK登录有效,但随后会关闭应用程序

Facebook SDK登录从未在iOS 9上回调我的应用程序

Facebook SDK无效的哈希密钥

尝试通过Android应用程序共享时,Facebook SDK问题与应用程序名称不匹配

在Heroku上使用ActionCable部署Rails5 beta3应用程序时,Redis密码无效

从 php-graph-sdk 迁移到 oauth2-facebook 库以使用移动应用程序登录 Facebook 的问题

Facebook SDK iOS-如何通过代码动态设置应用程序ID?

如何通过Facebook PHP SDK获得应用程序访问令牌?

Facebook与Facebook SDK共享应用程序中的文本

将 Facebook SDK 登录到 Firebase/Unity 时凭据无效

应用程序正在通过Facebook android sdk 3.17更新状态,但在使用Facebook的官方应用程序时无法更新状态(#404)

使用PHP SDK的Facebook应用程序登录不起作用:此URL的域未包含在应用程序的域中

如果安装本机应用程序,则使用Facebook最新的SDK登录,然后在Android中未打开对话框

Facebook应用程序开发::哪个SDK最适合Facebook应用程序开发?

使用 Auth0 通过 Postman 在 .net core 3 应用程序上登录

Facebook SDK使用Swift 3 iOS 10登录

iOS Facebook通过应用程序登录

Facebook SDK在应用程序委托中崩溃

用于Unity SDK和桌面应用程序的Facebook

Facebook SDK以编程方式删除应用程序权限

使用Facebook PHP SDK API的意外应用程序ID

React-native应用程序和Facebook SDK

Facebook SDK Android获得使用相同应用程序的朋友

将Facebook SDK导入我的应用程序

快速登录5的Instagram登录,获取[“ error_type”:OAuthException,“ error_message”:无效的平台应用程序,“” code“:400]