我在使用更新版本的 Facebook 时收到login failed invalid key error
。如果我删除它 - 它工作正常..
创建哈希键的正确方法是什么?
我知道在 Android 中有很多关于单点登录的问题和答案,但没有一个能帮助我在 Android 中实现单点登录。
我的代码:
public class Main extends Activity {
Facebook facebook = new Facebook("XXXXXXXXXX");
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
facebook.authorize(this, new DialogListener() {
@Override
public void onComplete(Bundle values) {}
@Override
public void onFacebookError(FacebookError error) {}
@Override
public void onError(DialogError e) {}
@Override
public void onCancel() {}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
facebook.authorizeCallback(requestCode, resultCode, data);
}
}
然后我使用命令生成了一个散列键
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
此外,我有 OpenSSL并将 OpenSSL 的位置指定为 openssl.exe
..
在我点击 Enter 后,它要求输入密码,我给了 android 作为密码。然后拿到 key ,填写“我的申请”。
最佳答案
创建散列键的正确方法
请按照以下步骤操作。
步骤如下:
从 Google Code 下载 OpenSSL
提取它。在
C:/
中创建一个文件夹 - OpenSSL,并将提取的代码复制到此处。检测
debug.keystore
文件路径。如果找不到,请在C:/
中搜索并在下一步的命令中使用该路径。检测您的
keytool.exe
路径并在命令提示符下转到该目录并运行此命令(在一行中):$ keytool -exportcert -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator.android\debug.keystore"| "C:\OpenSSL\bin\openssl"sha1 -binary |"C:\OpenSSL\bin\openssl"base64
它会要求输入密码。放上“android”,仅此而已。您将获得一个 key 哈希。
关于安卓单点登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7712361/