2012-10-07 46 views
1

我已经设法连接我的应用程序和Facebook SDK,我可以发布照片到相册。Android发布图片到脸谱墙不到图库专辑

的事情是,我在我的全局“活动图像URL”,我用下面的代码将其发布到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; 

,这里发生的事情是,我的照片被上传到默认相册(名称为应用程序已命名),并且对任何人都不可见,即使我已在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应用程序设置,还是我的代码中的东西?

我想要将图像添加到相册中,但要在发布时发布在墙上。

TNX

回答

1

当你看到当你上传Facebook的照片,你把它发布到名为“照片墙”的特定专辑。

这应该工作:

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