无法从我的应用程序从其他Android设备登录到Facebook除了我的

时间:2013-06-19 08:03:02

标签: android facebook login permissions facebook-login

我已经查看了google,stackoverflow,整个互联网......但似乎没有什么能解决这个问题。我想我错过了一些可以解决这个问题的细节。以下是解释:

我在我的Android应用程序中集成了FB登录。它在我的设备上工作正常,但是当在其他设备上运行时,当点击登录时,它会请求权限,当给出时,它会返回登录状态...这意味着会话没有在其他设备上打开..我也有在代码下面用来生成散列键:

try {
            PackageInfo info = getPackageManager().getPackageInfo(
                    "MY_PACKAGE_NAME", 
                    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) { 
 } catch (NoSuchAlgorithmException e) {  
}

我还使用我的密钥库在应用程序的fb页面上放置了哈希密钥,我使用该密钥库导出应用程序(最后一个)并使用正确的密码通过以下方法生成哈希密钥(注意我使用的是Windows 7):< / p>

keytool -list-alias androiddebugkey -keystore~ / .android / debug.keystore | openssl sha1 -binary | openssl base64

当然,我在上面的命令中使用了我的releasekey和最终的密钥库。它要求输入密码,我给了正确的密码。所以我猜,生成的哈希密钥是正确的。如果使用-exportcert而不是-list,则显示“invalid type -exportcert”。

到目前为止,我已经在fb页面上添加了4个键哈希。沙箱模式已关闭。

自从过去6天以来,我一直在讨论这个问题。我认为哈希密钥存在一些问题,导致其他用户不允许从应用程序打开fb会话。如果你遇到类似的问题,或者可能的解决方案/方法也会有所帮助,请有人帮忙。

感谢您的时间和宝贵的意见。

由于

1 个答案:

答案 0 :(得分:0)

keytool -list-alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

我看到你正在使用调试密钥,尝试从eclipse助手导出你的应用程序,然后创建自己的密钥库。创建后再次运行上一个命令,更改密钥名称和密钥库的路径,然后将哈希密钥放在Facebook页面上,并将导出的.apk安装到其他设备中。

“run”选项生成的.apk是使用您的调试密钥签名的,而使用导出助手导出的.apk是使用您的个人密钥签名的。