Android Facebook 登录 setReadPermissions 不工作

标签 android facebook android-studio facebook-graph-api facebook-login

最初我的代码运行良好。然后昨天我意识到通过 Facebook 按钮登录,setReadPermissions 只询问公开个人资料,忽略电子邮件, friend 列表......我有另一个项目应该这段代码完美运行。你知道告诉我为什么吗?

这是我的部分代码:

@Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    FacebookSdk.sdkInitialize(this.getApplicationContext());
    ...
    callbackManager = CallbackManager.Factory.create();
    facebook();
    ...
}

private void facebook(){
        facebookLoginButton = (LoginButton) findViewById(R.id.fb_login_button);
        facebookLoginButton.setReadPermissions(Arrays.asList("public_profile,email,user_friends,user_birthday"));
        getLoginDetails(facebookLoginButton);
    }

protected void getLoginDetails(final LoginButton login_button) {

        // Callback registration
        login_button.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult login_result) {
                final Profile profile = Profile.getCurrentProfile();
                GraphRequest request = GraphRequest.newMeRequest(
                        login_result.getAccessToken(),
                        new GraphRequest.GraphJSONObjectCallback() {
                            @Override
                            public void onCompleted(JSONObject object, GraphResponse response) {
                                try {

                                    System.out.println("Questo è l'object"+object);
                                    System.out.println("Questo è il response"+response);

                                    System.out.println("Questo è il Nome"+object.getString("name"));
                                    System.out.println("Questo è il id"+object.getString("id"));
                                    System.out.println("Questo è il email"+object.getString("email"));

                                } catch (JSONException e) {
                                    e.printStackTrace();
                                }

                            }
                        });
                Bundle parameters = new Bundle();
                parameters.putString("fields", "id,name, birthday,picture,email");
                request.setParameters(parameters);
                request.executeAsync();
            }

            @Override
            public void onCancel() {
                // code for cancellation
            }

            @Override
            public void onError(FacebookException exception) {
                //  code to handle error
            }
        });

        accessTokenTracker = new AccessTokenTracker() {
            @Override
            protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken,AccessToken currentAccessToken) {
                // Set the access token using
                // currentAccessToken when it's loaded or set.
                //System.out.println("Questo è accesso token "+currentAccessToken);
                System.out.println("Questo è accesso OLDtoken "+oldAccessToken);
            }
        };

        // If the access token is available already assign it.
        accessToken = AccessToken.getCurrentAccessToken();
        System.out.println("Questo è accesso token "+accessToken);   

    }

在其他项目中,这段代码工作得很好。我认为这是 Facebook 应用程序问题、权限问题,而且我的管理员帐户也只让我获得公开个人资料。请帮助我。

最佳答案

我有同样的问题,但我发现当我创建按钮时它就像

private Button loginButton;

但应该是

private LoginButton loginButton;

在您的例子中是 Facebook 按钮。

关于Android Facebook 登录 setReadPermissions 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39409239/

相关文章:

android - Gitignore misc.xml 和 *.iml 与 Android Studio 0.8.9

java - 无法启动 ActivityComponentInfo

android - FirebaseFirestore.getInstance() 给出空指针异常

android - OKHTTP 3 跟踪分段上传进度

Facebook 评论出现错误无法读取未定义的属性 'handleServerJS'

android - Gradle 错误 - 任务 ':app:dexDebug' 执行失败

android - 列出Android手机下载目录下的文件

java - 如何以编程方式向上或向下 View ?

javascript - Facebook 访问 token 在每次页面加载时都会发生变化

javascript - facebook javascript sdk fb_xd_fragment?