android - "An error' s 发生 "when authenticating with Facebook' s android sdk

标签 android facebook authentication facebook-graph-api

我正在使用我一直在开发的 Android 应用程序对用户(或尝试)进行身份验证,我从 Facebook 对话框中得到的只是发生了一个错误,但没有详细说明错误是什么。没有异常(exception)让我追逐或任何类似的事情。我关注了http://developers.facebook.com/docs/guides/mobile/#android创建我的登录对话框。

该页面说使用新的 Facebook("YOUR_APP_ID");这会导致错误,我也尝试过 api key ,但它给出了同样的结果。 除了 toast ,我没有做任何其他事情,但在我按下返回键离开 Facebook 对话框之前,我什至没有在回调中得到响应

public class Base {
private Facebook fb;

    public Base() {
        fb = new Facebook("app_id_here");
    }

    public void onCreate(Bundle b) {
        super.onCreate(b);
    }

    private void doLogin() {
        fb.authorize(this, new DialogListener() {
            public void onComplete(Bundle values) {
                Toast.makeText(getApplicationContext(), values.toString(),
                        Toast.LENGTH_LONG).show();
            }
            public void onFacebookError(FacebookError error) {
                Toast.makeText(getApplicationContext(), error.getMessage(),
                        Toast.LENGTH_LONG).show();

            }

            public void onError(DialogError e) {
                Toast.makeText(getApplicationContext(), e.getMessage(),
                        Toast.LENGTH_LONG).show();
            }

            public void onCancel() {
                Toast.makeText(getApplicationContext(),
                        "You must be registered and signed in to perform that action",
                        Toast.LENGTH_LONG).show();

            }
        });
    }

    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        fb.authorizeCallback(requestCode, resultCode, data);
    }
}

知道为什么这会出错,或者我在哪里/如何找到导致错误的原因 P.S 我还在 FB 应用程序设置页面的“移动和设备”下添加了 key 哈希,这与在 Login failed invalid key error with Facebook SDK 上发现的问题不同。我试过那里的建议。没用

最佳答案

我也遇到过这个问题。首先,我需要知道您在 Facebook 应用程序上输入的 key 哈希值,如果它是“ga0RGNYHvNM5d0SLGQfpQWAPGJ8=”,那么这就是问题所在。我想你进入了

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

终端上的这个,您输入自己的密码以生成 key 哈希。如果你这样做了,请尝试做以下事情,你也可以在终端上输入上面的命令(我使用的是 UBUNTU(linux)。你输入与你使用的操作系统相对应的命令)并输入密码为“android” 。这次你会得到一个不同的 hey hash 值。复制该值并将其保存为您的 Facebook 应用程序的 key 哈希值。之后检查它是否工作。对我来说它奏效了。这将在我们使用调试 key 时发生。毕竟,当您要在 Android 市场上发布此应用程序时,您将不得不根据您使用的私钥再次更改 key 哈希值。试试这个可能对你有帮助。

关于android - "An error' s 发生 "when authenticating with Facebook' s android sdk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6129308/

相关文章:

forms - Tomcat 6 Ssl 和 Form 身份验证并行

android - Android中哪个LocationProvider要花钱使用?

objective-c - 打开 Instagram Native 链接

root 用户的 phpMyAdmin 访问被拒绝

PHP Facebook Graph API 获取带有用户照片字段的帖子评论

ios - 跨多个应用共享 Facebook App ID

c# - Windows 登录的使用条件对话框

Android - 计算没有矩阵的像素旋转?并检查像素是否在 View 中

android ndk native 代码 fopen() 路径

java - 如何从 arraylist 中获取随机项目而不在 android 中重复