我有一个Android应用程序,我用facebook android sdk构建登录。 它接收一个长期访问令牌(您使用默认登录按钮正常获得的令牌)。并将其传递给服务器后端。
服务器后端使用访问令牌登录到facebook。
该应用处于发布模式(已签名的apk)。
问题是,这只适用于我(开发人员)。将应用程序分发给我的朋友时,该应用程序登录到Facebook,但服务器后端无法使用该令牌(对于他们,对于我的帐户,这可以正常工作)。
Facebook应用程序不是沙盒模式(在沙盒模式下,只有我可以使用Android应用程序登录。你看到现在每个人都可以使用Android应用程序登录,问题是,只有开发人员可以将令牌转发到服务器并使用它。)
任何人都知道为什么?
答案 0 :(得分:0)
感谢Heshan的快速回复。
对于将来遇到类似问题的人来说,问题是:
服务器后端运行HTTP服务器,如果有人登录网站,服务器会要求权限:public_profile(默认),电子邮件。
Android应用程序没有设置权限,所以它只询问public_profile(默认),而不是电子邮件。
由于我首先登录了该网站,因此我的帐户拥有该应用的两项权限。
所有其他人都使用Android应用程序进行了记录,并且只批准了public_profile。因此错误。