繁体   English   中英

Android / Facebook-没有权限/带有应用程序的登录屏幕

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM