Use Facebook App-scoped Id for ProfilePictureView

前端 未结 2 1699
死守一世寂寞
死守一世寂寞 2020-12-11 13:27

I am implementing facebook\'s SDK for an android app. I have a ProfilePictureView, that requires, to be filled:

profilePictureView.setProfileId(         


        
2条回答
  •  离开以前
    2020-12-11 13:56

    From 26 Mar 2018, all solutions related to manual link don't work anymore

    Use the code below

    private static String FACEBOOK_FIELD_PROFILE_IMAGE = "picture.type(large)";
        private static String FACEBOOK_FIELDS = "fields";
    
        private void getFacebookData() {
            GraphRequest request = GraphRequest.newMeRequest(
                    AccessToken.getCurrentAccessToken(),
                    (object, response) -> {
                        updateAvatar(getImageUrl(response));
                    });
            Bundle parameters = new Bundle();
            parameters.putString(FACEBOOK_FIELDS, FACEBOOK_FIELD_PROFILE_IMAGE);
            request.setParameters(parameters);
            request.executeAsync();
        }
    
        private static String FACEBOOK_FIELD_PICTURE = "picture";
        private static String FACEBOOK_FIELD_DATA = "data";
        private static String FACEBOOK_FIELD_URL = "url";
        private String getImageUrl(GraphResponse response) {
            String url = null;
            try {
                url = response.getJSONObject()
                        .getJSONObject(FACEBOOK_FIELD_PICTURE)
                        .getJSONObject(FACEBOOK_FIELD_DATA)
                        .getString(FACEBOOK_FIELD_URL);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return url;
        }
    

提交回复
热议问题