哦,我做了所有的事情,按照所有步骤,但仍然无法让它工作.Facebook SDK附带的简单示例应用程序正在模拟器和Android 1.5设备上运行.所以我猜是单一登录的东西.
如果我是对的,那么我应该生成一个密钥哈希,并且我被告知正确的调试密钥库被置于其下
C:\ Users \用户xxx.android\debug.keystore
所以我按照教程.
从google.code和终端下载的OpenSSL我写的内容如下:
"C:\ Program Files\Java\jdk1.6.0_22\bin\keytool.exe"-exportcert -alias androiddebugkey -keystore"C:\ Users\JoeZ.android\debug.keystore"|"C:\ Users\xxx \下载\ openssl-0.9.8k_X64\bin\openssl.exe"sha1 -binary |"C:\ Users\xxx\Downloads\openssl-0.9.8k_X64\bin\openssl.exe"base64
我得到了一个很好的密钥,我插入到Facebook的Android Key Hash框中,我在输出后尝试了有或没有=符号,但似乎没有任何效果.
当我尝试登录Example应用程序时,我只是得到invalid_key.我甚至尝试过签名的应用程序,但它没有用.如果我没弄错,在Example应用程序中写的唯一的东西是我的APP_ID,对吧?
我正在开发我自己的应用程序时遇到完全相同的问题.那么请有人帮助我吗?
Kor*_*rbi 15
如果keytool命令对你不起作用,我找到了解决这个问题的方法:你可以在Facebook Developer部分中反向设计将哪个键作为Key Hash.在您的Activity中,只需执行以下操作即可打印出Key Hash:
try {
PackageInfo info = getPackageManager().getPackageInfo("[your package name, e.g. com.yourcompany.yourapp]", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("Hash Key:", Base64.encode(md.digest()));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Run Code Online (Sandbox Code Playgroud)
这对我有用.MessageDigest类包含在JDK中.Base64类没有.例如,你可以使用这个.
我遇到了类似的问题.对我来说,当我卸载Facebook应用程序的最新更新并且现在只有原生Facebook应用程序v1.2时,它已得到解决.(意思是,当我进入市场并搜索Facebook时,"Facebook for Android"将在我的设备上显示为"未安装").
在我的Nexus One(Android 2.2.1)上,当我安装了最新的Facebook应用程序时,没有"卸载应用程序",只有"卸载最新更新",这就是我所做的.事实上,我甚至无法卸载整个Facebook(现在的v1.2)应用程序,无论出于何种原因,卸载按钮被禁用/灰显.但在这种状态下,样本似乎有效.
至少,我可以通过这种方式使用简单的流应用程序.
编辑/解决方案:
好的,我现在就开始工作了.我发现我复制/粘贴了错误的密钥哈希,因为Windows下的keytool有一些奇怪的行为,而Facebook SDK的自述文件中的命令语法错误.
要使用的参数应为" keytool -export ..."而不是" keytool -exportcert ..."; 如果你确实使用了第二个/错误的参数,keytool仍然会打印出一个哈希键(尽管没有要求任何密钥密码),但哈希是错误的.
现在我也让SSO工作了.
这是我在windows上的调用:
keytool -export -alias androiddebugkey -keystore "C:\Documents and Settings\myuser\.android\debug.keystore" | openssl sha1 -binary | openssl enc -a -e
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8733 次 |
| 最近记录: |