无法使用其他帐户连接Facebook

时间:2014-04-16 04:34:14

标签: android facebook login

我正在使用Facebook的最新Android SDK。

我有一个使用LoginButton连接到Facebook的应用程序。如果我尝试登录我的帐户(Facebook应用程序的所有者),则可以。

但是,如果我尝试登录其他帐户,则会显示一个对话框,在点击“确定”后会要求获得权限。什么都没发生。我无法连接到该Facebook帐户并获取用户数据。

注意:我还应该提一下,如果我尝试使用Facebook SDK中的示例应用程序登录该帐户,则会出现相同的情况。

任何人都可以帮我解决这个问题。

提前致谢。

更新1:我试图让我的应用程序的其他帐户所有者工作。我现在可以登录了。但我仍然对这个问题感到好奇。

更新2:我解决了我的问题。检查下面的答案

2 个答案:

答案 0 :(得分:0)

通过在OnCreate

之后将此代码放在MainActivity中,从项目中获取Key哈希值
 try {

           PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);

           for (Signature signature : info.signatures)
           {
            MessageDigest md = MessageDigest.getInstance("SHA");
            md.update(signature.toByteArray());
            Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
           }

          } catch (NameNotFoundException e) {
           Log.e("name not found", e.toString());
          } catch (NoSuchAlgorithmException e) {
           Log.e("no such an algorithm", e.toString());
          }

转到logcat并从那里复制Key哈希 然后转到https://developers.facebook.com/并点击您创建的应用,然后转到设置,将您的密钥粘贴到Key Hashes框中,然后点击保存更改。 确保您的应用是公开的,如果不是公开的,则可供所有用户使用,然后转到设置将您的电子邮件置于“联系人电子邮箱”框中,然后点击保存更改,然后选中应用名称旁边的小圆圈。

答案 1 :(得分:0)

我解决了我的问题。这是因为我的Facebook应用程序不适用于公众。

解决方案:

1)转到Facebook Developer Console。

2)选择应用。

3)点击状态&评论标签。

4)将“应用的可用性”切换为“公开”。这是那里的重大转变。

PS:如果您无法启用它,请尝试添加联系电子邮件:设置> 基本> 联系电子邮件