Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用非测试人员Facebook帐户的Android Facebook登录错误_Android_Facebook_Facebook Graph Api_Sdk_Facebook Javascript Sdk - Fatal编程技术网

使用非测试人员Facebook帐户的Android Facebook登录错误

使用非测试人员Facebook帐户的Android Facebook登录错误,android,facebook,facebook-graph-api,sdk,facebook-javascript-sdk,Android,Facebook,Facebook Graph Api,Sdk,Facebook Javascript Sdk,我正在开发一个Android应用程序,它使用Facebook登录来 只需检索用户的facebook个人资料名称和ID 从2个月以来,我一直在debug模式下使用debug-keyhash测试我的应用程序。 我测试应用程序时使用的所有配置文件都被添加到我应用程序的Facebook开发者控制台上,称为“测试者”。一切都很顺利 现在,应用程序已经准备好了。我生成了一个有效的发布密钥哈希,从Facebook app Developer控制台删除了所有“app tester”帐户。 此外,我将应用程序切换

我正在开发一个Android应用程序,它使用Facebook登录来 只需检索用户的facebook个人资料名称和ID

从2个月以来,我一直在
debug
模式下使用debug-keyhash测试我的应用程序。 我测试应用程序时使用的所有配置文件都被添加到我应用程序的Facebook开发者控制台上,称为“测试者”。一切都很顺利

现在,应用程序已经准备好了。我生成了一个有效的发布密钥哈希,从Facebook app Developer控制台删除了所有“app tester”帐户。 此外,我将应用程序切换为“公共”,因此每个人都应该访问它

当我尝试在调试或发布模式下使用某人的帐户登录时,总是失败。在调试模式下,不会打印任何日志错误,因此它不是“keyhash”问题

当我按下按钮时,它会打开Facebook应用程序,显示一个进度条,然后立即关闭。它调用
FacebookCallback()
中的
onCancel()

正如其他人在另一篇stackoverflow文章中所说,我尝试调用
LoginManager.getInstance().logOut()在尝试登录之前。
在这种情况下,不调用
onCancel()
函数,而调用
onSuccess()
函数。但是,如果我尝试执行
Profile.getCurrentProfile()
函数(就像我以前在应用程序工作时所做的那样),它会抛出一个异常(例如getMessage()为空)

非常感谢您的帮助

编辑:
Log.d(“令牌”,loginResult.getAccessToken()+)打印

E/Token﹕ {AccessToken token:ACCESS_TOKEN_REMOVED permissions:[public_profile]}

这个bug的原因是我请求了错误的权限。
logInWithReadPermissions()
函数中,我将
user\u status
替换为
public\u profile

您需要什么权限(Facebook权限)最基本的权限。我正在做:
LoginManager.getInstance().logInWithReadPermissions(活动、数组、asList(“用户状态”)当我尝试使用自己的Facebook帐户登录时,因为我是应用程序的所有者,它可以工作。顺便说一下,Access token仍然设置为Access\u token\u REMOVED。。但它是有效的。但在另一个帐户中,你可以简单地解释一下你是如何得到你的密钥散列的吗?简单地说,我认为你可能做错了。我曾经有过这样的问题……嗯,为了确保我得到了正确的密钥哈希,我的应用程序弹出了一个AlertDialog,它记录了当前的密钥哈希。它和我在Facebook控制台上输入的一样。。。我使用keytool命令从生成的.jks存储文件中取出散列…我很高兴您对其进行了排序(y)是的,感谢您让我想到了权限问题。不用担心,请确保将您的答案标记为正确,因为它可能会在将来帮助其他人。