Facebook sdk 4.0.1无法通过Android工作室获得一些字段

时间:2015-12-10 21:33:05

标签: java android facebook

我正在使用facebook登录我的Android应用程序。

我几乎已经完成了一切,但我无法获得所有领域。

我只获得了fullname和fbid中的内容。

名字,性别,个人资料图片不返回任何内容。

  GraphRequest.newMeRequest(AccessToken.getCurrentAccessToken(),
                    new GraphRequest.GraphJSONObjectCallback() {
                        @Override
                        public void onCompleted(JSONObject fbUser,
                                                GraphResponse response) {

                            final ParseUser parseUser = ParseUser.getCurrentUser();
                            try{
                                parseUser.fetchIfNeeded();
                            }catch (Exception e){}

                            if (fbUser != null && parseUser != null
                                    && fbUser.optString("name").length() > 0) {
                                Log.d("fb","Json--"+fbUser);
                                parseUser.put(USER_OBJECT_NAME_FIELD, fbUser.optString("first_name"));
                                   parseUser.put("fullname",fbUser.optString("name"));
                            try{
                                   String mm= fbUser.getString("email");
                                    parseUser.setEmail(mm);
                                }catch (Exception e){//e.printStackTrace();
                                  }
                                   try{
                                    String mm= fbUser.getString("gender");
                                    if(mm.equals("male"))
                                    {

对于个人资料图片我用这个:

          try {
                                    final String id = fbUser.getString("id");
                                    parseUser.put("fbId", id);

                                    //Your code goes here
                                    String ur = "https://graph.facebook.com/" + id + "/picture?width=640&height=640";
                                    ImageLoader imageLoader = ImageLoader.getInstance();
                                    imageLoader.init(ImageLoaderConfiguration.createDefault(getActivity().getApplicationContext()));
                                    imageLoader.loadImage(ur, new SimpleImageLoadingListener() {
                                        @Override
                                        public void onLoadingComplete(String imageUri, View view, Bitmap bmImg) {
                                            // Do whatever you want with Bitmap
                                            if(bmImg!=null) {
                                                bmImg=Bitmap.createScaledBitmap(bmImg,640,640,false);
                                                ParseFile dL = new ParseFile("dpLarge.jpg", bmImg.toString().getBytes());
                                                Bitmap smal = Bitmap.createScaledBitmap(bmImg, 120, 120, false);
                                                ParseFile ds = new ParseFile("dpSmall.jpg", smal.toString().getBytes());
                                                parseUser.put("dpLarge", dL);
                                                parseUser.put("dpSmall", ds);
                                            }

权限:

      facebookLoginButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            loadingStart(false); // Facebook login pop-up already has a           spinner
            if (config.isFacebookLoginNeedPublishPermissions()) {
                  ParseFacebookUtils.logInWithPublishPermissionsInBackground(getActivity(),
                        config.getFacebookLoginPermissions(), facebookLoginCallbackV4);
            } else {
                ParseFacebookUtils.logInWithReadPermissionsInBackground(getActivity(),
                        config.getFacebookLoginPermissions(), facebookLoginCallbackV4);
            }
        }
    });
}

无法弄清楚我做错了什么。

1 个答案:

答案 0 :(得分:0)

我还没有使用过facebook sdk,但是根据你在个人资料图片中的问题,你是否尝试过这些帖子的解决方案:

How to get facebook profile picture of user in facebook SDK 3.0 Android

How to get facebook profile picture of user in facebook SDK Android

还可以尝试使用某些日志来检查String ur是否正确显示。