下面的代码用RestFB向Facebook上传一张标记的照片
URL url = new URL("http://....");
facebookClient.publish(
"me/photos",
Photo.class,
BinaryAttachment.with("file.jpg", url.openStream()),
Parameter.with("tags", "[{\"tag_uid\":\"myID\", \"x\" : 0.0, \"y\" : 0.0}]")
);它工作得很完美。但是,我觉得倒数第二行中有龙,我想用定义如下的变量"[{\"tag_uid\":\"myID\", \"x\" : 0.0, \"y\" : 0.0}]"替换tags:
Photo.Tag tag = new Photo.Tag();
tag.setId("myID");
tag.setX(0.0);
tag.setY(0.0);
List<Photo.Tag> tags = new ArrayList<Photo.Tag>();
tags.add(tag);但这不管用。可能是因为android.util.Log.d("", tag.toString())生成的是Tag[... id=myID ...],而不是Tag[... id=myID ...],也就是说,RestFB使用的是Tag[... id=myID ...],而不是似乎需要的Tag[... id=myID ...]。这是一个RestFB错误吗?还是我做错什么了?
发布于 2015-11-22 11:58:17
Photo.Tag类型用于从Facebook获取信息,而不是发送给Facebook。您应该像这样创建自己的类型:
public class MyPhotoTag {
@Facebook("tag_uid")
private String tagUid;
@Facebook
private Double x;
@Facebook
private Double y;
// add getter and setter here
}您的代码应该可以使用这种新类型。
这不是一个RestFB错误,但是应该在RestFB文档中说明清楚。
https://stackoverflow.com/questions/33690030
复制相似问题