Android LoginButton : An error occurred. 请稍后再试(无效的应用程序 ID : The provided Application ID is invalid.)

标签 android facebook-android-sdk

我按照教程“Use Facebook Login”做了一个演示。

我在 MainFragment 中设置了这段代码:

LoginButton authButton = (LoginButton) view.findViewById(R.id.authButton);
authButton.setFragment(this);
authButton.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
authButton.setReadPermissions(Arrays.asList("user_likes", "user_status"));

我在使用第二个帐户登录时遇到错误。我的意思是我之前用别的账号登录成功了。然后我注销,并尝试使用第二个帐户登录。

它显示了一个错误对话框,显示消息“发生错误。请稍后再试”,标题为“错误”,右侧有一个“确定”按钮。

我试着看到错误添加下面的代码。我明白了,但我现在仍然不明白该怎么做。

authButton.setOnErrorListener(new OnErrorListener() {
        @Override
        public void onError(FacebookException error) {
            Log.e("test", "error: "+error.getMessage());
        }
    });

它显示:

error: kError 1349040: Invalid Application ID: The provided Application ID is invalid.

但是当我尝试用之前的账号登录时,又成功了。

在这个错误之前,我遇到过这个错误:

remote_app_id does not match stored id

我将设置中的 key 散列更改为推荐的“Getting Started with the Facebook SDK for Android”。添加代码:

 // 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) {

    }

这样就登陆成功了。

另外,我尝试使用release key签名我的apk。结果是一样的。一个账号可以,另一个不可以。

现在,这几天,我又试了一次。错误消失了。只显示一个白色对话框,左上角什么也没有,只有一个删除按钮。

注意:我使用的是 Facebook SDK for Android V3.01。

[问题已解决]

有两个因素导致了这个问题。

首先是我的Openssl工具有问题,然后我从使用Facebook登录中推荐的文档下载

其次,默认情况下会选中沙箱。正如安东罗伊在回答中所说,我在仪表板中取消选中了沙箱模式。

最佳答案

你有没有在你的 facebook 应用程序上取消选中沙盒模组?

它是默认启用的,我和你有同样的问题,它已经解决了我的问题。

关于Android LoginButton : An error occurred. 请稍后再试(无效的应用程序 ID : The provided Application ID is invalid.),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16079416/

相关文章:

android - facebook 代表您发帖在 android facebook sdk 3.0.2 中不起作用

android - 找不到参数的方法 release()

android - 将依赖项添加到模块 - 外部库错误

android - 获取 java.lang.RuntimeException : Stub when running Robolectric through Maven

Android 应用程序 CPU 使用率高

空文档的 Android Firestore id

android - 如何检查我的应用程序是否连接到 Facebook

java - 如何从 Android 中的 bundle 中提取值

android - 使用 Facebook Android API 在我的应用中上传照片,但不向公众显示

java - 找不到 com.google.android.gms.internal.zzbck 的类文件