通过Facebook的android sdk进行身份验证时,“发生了错误”

问题描述

| 我正在使用我一直在使用的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,data);
    }
}
知道为什么会出现错误或在哪里/如何找到导致错误的原因的任何想法 PS我还在FB应用程序设置页面的“移动和设备”下添加了密钥哈希,这与我尝试使用Facebook SDK登录失败无效密钥错误时发现的问题不同那里的建议。没用     

解决方法

我也面临这个问题。首先,我需要知道您在facebook应用程序上输入的哪个“哈希值”,如果它是“'ga0RGNYHvNM5d0SLGQfpQWAPGJ8 ='”,那么这就是问题所在。我想你进入了   keytool -exportcert-别名androiddebugkey -keystore   〜/ .android / debug.keystore | openssl sha1 -binary | openssl base64 在终端上输入这一密码,然后您输入了自己的密码以生成密钥哈希。如果这样做了,请尝试执行以下操作,同时在终端上输入上述命令(我正在使用UBUNTU(linux)。键入与所使用的操作系统相对应的命令),然后输入密码“ \'android \”。这次您将获得一个不同的嘿哈希值。复制该值并将其另存为您的Facebook应用程序的键哈希值。在那之后检查它是否工作。对我来说,它奏效了。这将在我们使用调试键时发生。完成所有这些操作后,当您要在Android市场上发布此应用程序时,您将不得不根据您使用的私钥再次更改密钥哈希值。试试这个可能对您有帮助。     ,就我而言,\“〜/ .android / debug.keystore \”是此问题的\“ KEY \”。 检查\“ debug.keystore \” \的文件夹URL。 您必须将其更改为正确的URL。 然后,运行下面的命令。 $ cd /cygdrive/c/Users/watchout/.android <====我的调试密钥库URL $ keytool -exportcert -alias androiddebugkey -keystore debug.keystore | openssl sha1 -binary | openssl基础 64 它询问“密码”,但是调试密钥库没有密码。 因此,您只需按“输入键”,它就会向我扔一个键。 我用它,然后我解决了这个问题。 再试一次,robinsonc494!