[英]Android/Facebook - no permissions/login screen with app
我正在使用Android和facebook-connect创建一个简单的应用程序,该应用程序可以发布到用户的墙上。 如果未安装官方的Facebook应用程序,则身份验证系统似乎可以正常工作-它会打开一个Web视图,用户登录,然后该应用程序便开始运行。 但是,如果用户安装了官方应用程序,则身份验证代码将打开一个白色屏幕,顶部带有蓝色的facebook横幅,并带有一个加载弹出对话框。 这会运行大约一秒钟,然后直接返回我的应用程序。 但是,从未显示任何权限或登录屏幕,如示例所示。 该应用程序也从未收到访问令牌。 有人知道哪里出问题了吗? 我的登录代码如下:
public void authFb(){
if(!facebook.isSessionValid()) {
facebook.authorize(this, new String[] {"publish_stream", "offline_access"}, new DialogListener() {
@Override
public void onComplete(Bundle values) {
SharedPreferences.Editor editor = mPrefs.edit();
editor.putString("access_token", facebook.getAccessToken());
editor.putLong("access_expires", facebook.getAccessExpires());
editor.commit();
}
@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);
}
“ facebook”变量只是一个Facebook(HASH)对象。
发生这种情况是因为您在Facebook开发人员页面中为您的应用提供的哈希键不正确。 请查看此问题以获取操作步骤。
**唯一的区别是要在shell中执行的行是这样的:(exportcert不再有效)
keytool -export -alias androiddebugkey -keystore“ C:\\ locationOfYourDebugKeystoreFile” | openssl sha1 -binary | openssl base64
对我来说,这是:keytool -export -alias androiddebugkey -keystore“ C:\\ Users \\ Sean.android \\ debug.keystore” | openssl sha1 -binary | openssl base64
希望这可以帮助...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.