gpt4 book ai didi

Android 将图片发布到 facebook 墙而不是图库相册

转载 作者:行者123 更新时间:2023-11-30 03:59:23 25 4
gpt4 key购买 nike

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

问题是,我的全局变量中有“Activity 图像 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 并将 token 和 session 信息保存在 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 应用程序设置,还是我的代码中的某些内容?

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

谢谢

最佳答案

当您在 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

关于Android 将图片发布到 facebook 墙而不是图库相册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12770832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com