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 应用程序时出错的主要内容,如果未能解决你的问题,请参考以下文章

Android Facebook SDK 4.0 ShareDialog 不显示长文本

facebook android sdk 4.0,从 LoginManager 注销回调的方法

以编程方式清除 Android 上的 Facebook SDK 4.0 会话

任何示例显示如何使用自己的按钮或 Facebook 按钮在 Android 中使用 Facebook SDK 4.0 登录?

从我的应用程序中注销(使用 facebook android sdk 4.0 开发)并安装 facebook 原生应用程序

如何在 Facebook Android sdk 4.0 中使用 Graph Request 获取登录用户的电子邮件地址