Android帖子图片到脸谱墙不到画廊专辑

时间:2012-10-07 16:52:43

标签: android facebook image share

我已成功连接我的应用和Facebook SDK,我可以将照片发布到相册。

问题是,我的全局变量中有“活动图像网址”,我使用以下代码将其发布到Facebook:

Onclick...
case R.id.tab1_PublishFace:
         Bundle params = new Bundle();
         params.putString("method", "photos.upload");
         Bitmap bi = BitmapFactory.decodeFile(Globals.INSTANCE.activeSetting.f_image_path);
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         bi.compress(Bitmap.CompressFormat.JPEG, 100, baos);
         imgData = baos.toByteArray();
         params.putByteArray("picture", imgData);
         Globals.INSTANCE.mAsyncRunner.request(null, params, "POST",new SampleUploadListener(), null);
         break;

现在,这里发生的是,我的照片上传到默认相册(命名为app已命名),并且任何人都看不到它,即使我在Facebook设置中手动更改以便某些人可以看到。除此之外,我在Facebook上的图像不会自动放置到相册,而是要求我批准它们。

这是我连接到Facebook并在SharedPreferences中保留令牌和会话信息的代码:

 Globals.INSTANCE.facebook.authorize(getSherlockActivity(), new String[] {"publish_actions"}, new DialogListener() {
                    public void onFacebookError(FacebookError e) {
                        // TODO Auto-generated method stub
                        showToast("FacebookError");
                    }

                    public void onError(DialogError e) {
                        // TODO Auto-generated method stub
                        showToast("FacebookError");
                    }

                    public void onComplete(Bundle values) {
                        // TODO Auto-generated method stub
                        ImageView img = (ImageView) getSherlockActivity().findViewById(R.id.imageView1);
                        TextView txt = (TextView) getSherlockActivity().findViewById(R.id.textView1);
                        txt.setText("Log Out from Facebook");
                        txt.setTag(faceLoggedIn);
                        showToast("Succesfully Loged To FB. Click Again to Logout");
                        SharedPreferences.Editor editor = mPrefs.edit();
                        editor.putString("access_token", Globals.INSTANCE.facebook.getAccessToken());
                        editor.putLong("access_expires", Globals.INSTANCE.facebook.getAccessExpires());
                        editor.commit();
                    }

                    public void onCancel() {
                        // TODO Auto-generated method stub
                        showToast("Canceled");
                    }
                });

我正在查看https://github.com/fbsamples/ios-android-wishlist示例,我没有看到任何特殊权限设置,当我编译该示例时,我的照片正确发布,无需批准。

我缺少什么,是Facebook App设置,还是我代码中的某些内容?

我希望将图片添加到相册中,但要在发布时发布在我的墙上。

TNX

1 个答案:

答案 0 :(得分:1)

当您在facebook上看到上传图片时,将其发布到标题为“Wall Photos”的特定相册。

这应该有效:

Bundle params = new Bundle();
params.putByteArray("source", imageBytes);
params.putString("message", "A wall picture");
facebook.request("me/feed", params, "POST");

如果这不起作用,那么您必须首先获取登录用户的“墙照片”专辑ID,然后执行以下操作:

Bundle params = new Bundle();
params.putByteArray("source", imageBytes);
params.putString("message", "A wall picture");
facebook.request("ALBUM_ID/photos", params, "POST");

见线程:

Post a picture to the wall from android