在Android上使用Facebook登录获取用户照片

时间:2015-07-28 01:23:02

标签: android facebook photos

我使用Facebook SDK 4.0,并且我能够使用Facebook登录用户使用Facebook登录用户 -

info = (TextView)findViewById(R.id.info);    
loginButton = (LoginButton)findViewById(R.id.login_button);    


  loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
            @Override
            public void onSuccess(LoginResult loginResult) {
                info.setText("User ID:  " +
                        loginResult.getAccessToken().getUserId() + "\n" +
                        "Auth Token: " + loginResult.getAccessToken().getToken());
            }

            @Override
            public void onCancel() {
                info.setText("Login attempt cancelled.");
            }

            @Override
            public void onError(FacebookException e) {
                info.setText("Login attempt failed.");
            }
        });

但我怎样才能获得用户的照片?任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

您可以使用:

https://graph.facebook.com/{Facebook_id}/picture?type=large

例如Mark Zuckerberg的Facebook ID是4,所以你可以像这样使用它:

https://graph.facebook.com/4/picture?type=large

在你的情况下,你需要把它放在onSuccess:

        @Override
        public void onSuccess(LoginResult loginResult) {
            String userId = loginResult.getAccessToken().getUserId();
            String token = loginResult.getAccessToken().getToken();
            info.setText("User ID:  " +
                    userId + "\n" +
                    "Auth Token: " + token);
            String imageUrl = String.format("https://graph.facebook.com/%s/picture?type=large", userId);
        }

答案 1 :(得分:0)

您可以使用User Photos API参考。