Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在android中获取Facebook信息_Java_Android - Fatal编程技术网

Java 如何在android中获取Facebook信息

Java 如何在android中获取Facebook信息,java,android,Java,Android,我试图从我的android facebook上获取信息, 我的代码: loginButton.setReadPermissions(Arrays.asList("email", "user_photos", "public_profile")); loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public

我试图从我的android facebook上获取信息, 我的代码:

loginButton.setReadPermissions(Arrays.asList("email", "user_photos", "public_profile"));
    loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
          Toast.makeText(getApplicationContext(),""+loginResult.getAccessToken(),Toast.LENGTH_SHORT).show();
            String accessToken = loginResult.getAccessToken().getToken();
            GraphRequest request = GraphRequest.newMeRequest(loginResult.getAccessToken(), new GraphRequest.GraphJSONObjectCallback() {
                @Override
                public void onCompleted(JSONObject object, GraphResponse response) {
                    Log.i("LoginActivity", response.toString());
                    // Get facebook data from login
                    try {
                        object.get("gender");
                        object.get("email");
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                 //   Bundle bFacebookData = getFacebookData(object);
                }
            });
            Bundle parameters = new Bundle();
            parameters.putString("fields", "id, first_name, last_name, email,gender, birthday, location"); // Parámetros que pedimos a facebook
            request.setParameters(parameters);
            request.executeAsync();

        }

有什么解决办法吗?或者此案例与facebook隐私设置有关?

请尝试手动构建登录流。这样您就不会被困在
sdk

https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow
试着替换

loginResult.getAccessToken()

Facebook不允许开发人员直接登录“session.getAccessToken”,因为这可能会导致泄漏。您还可以查看此项了解更多信息:

loginResult.getAccessToken()
loginResult.getAccessToken().getToken() .