使用Facebook的android sdk进行身份验证时出现"错误"

zco*_*rts 4 authentication android facebook facebook-graph-api

我正在使用我一直在研究的Android应用程序对用户进行身份验证(或者尝试),而我从facebook对话框获得的是,发生了一个错误,没有关于错误是什么的详细信息.我没有异常追逐或追逐任何类型的东西.我已经按照http://developers.facebook.com/docs/guides/mobile/#android来创建我的登录对话框.

该页面说使用新Facebook("YOUR_APP_ID"); 这导致错误,我也尝试了api键,但它给出了相同的东西.我没有做任何其他事情,除了敬酒,但我甚至没有在回调中得到回应,直到我点击返回键离开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);
    }
}
Run Code Online (Sandbox Code Playgroud)

知道为什么会出现错误或者我在哪里/如何找到导致错误的原因PS我还在FB应用程序设置页面的"移动和设备"下添加了密钥哈希,这与以下问题不同发现在登录时失败了Facebook SDK的无效密钥错误我已经尝试了那里的建议.它不起作用

Bas*_*sil 14

我也遇到过这个问题.首先,我需要知道你在facebook app上输入的Key Hash值,如果它是' ga0RGNYHvNM5d0SLGQfpQWAPGJ8 = '则那就是问题所在.我想你进去了

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

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