Android Facebook SDK 4.0 登录:用户登录 Facebook 应用程序时出错

Posted

技术标签:

【中文标题】Android Facebook SDK 4.0 登录:用户登录 Facebook 应用程序时出错【英文标题】:Android Facebook SDK 4.0 Login: Error when user is logged in Facebook App 【发布时间】:2015-03-31 21:06:28 【问题描述】:

我一直在尝试在我的 android 应用中实现 Facebook 登录,但没有成功。由于设计原因,我想在不使用 SDK 提供的 LoginButton 的情况下实现 Facebook 登录。为此,我使用了 LoginManager 和 CallbackManager 类。当用户未登录 Facebook 应用程序时,我的代码可以正常工作,但如果用户在 Facebook 应用程序中有一个打开的会话,我会收到一条错误消息:

错误 应用未设置:此应用的开发者尚未正确设置此应用以进行 Facebook 登录。

我确定该应用程序已在 Facebook 中正确配置,并且根据 Facebook 开发人员教程,我的清单和 gradle 文件中包含所有内容,所以我不知道出了什么问题。我非常感谢有关此主题的任何帮助,我需要继续进行应用程序开发。谢谢! 这是我与 Facebook 登录相关的代码:

在 onCreate(...) 方法中

 FacebookSdk.sdkInitialize(getApplicationContext());
 callbackManager = CallbackManager.Factory.create();
 btnFacebookLogin.setOnClickListener(new View.OnClickListener()
 
        @Override
        public void onClick(View v)
        
            facebookLogin();
        

 );

 LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>()
 
        @Override
        public void onSuccess(LoginResult loginResult)
        
            Log.i("LoginActivity","onSuccess Facebook Login");
            Toast.makeText(getApplicationContext(),"Login successful",Toast.LENGTH_SHORT).show();
        

        @Override
        public void onCancel()
        

        

        @Override
        public void onError(FacebookException e)
        
            Log.e("LoginActivity","ERROR: "+e.getMessage());
        
 );

这里是我的 facebookLogin() 方法:

public void facebookLogin()

    LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile"));

还有 onActivityResult(...)

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)

    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);

再次感谢您的帮助!!

【问题讨论】:

你的 onError 方法被调用了吗? logcat 里还有别的吗? 另外,您可能使用的是测试应用而不是真实的应用 ID? 【参考方案1】:

转到您的Facebook Apps 并选择您的应用程序并单击状态和评论,然后选择并将其更改为 YES 以表示您是否想让此应用程序及其所有实时功能对普通大众?

【讨论】:

谢谢。这就是我所缺少的。

以上是关于Android Facebook SDK 4.0 登录:用户登录 Facebook 应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章