我尝试使用新的Google +域API将带有图片的活动发布到google +域
发布活动工作正常但是当我尝试将照片附加到该活动时,我收到500错误,其中包含空描述。
这是代码:
String msg = "Activity with photo";
// Create a list of ACL entries
PlusAclentryResource resource = new PlusAclentryResource();
resource.setType("domain"); // Share to domain
List<PlusAclentryResource> aclEntries = new ArrayList<PlusAclentryResource>();
aclEntries.add(resource);
Acl acl = new Acl();
acl.setItems(aclEntries);
acl.setDomainRestricted(true); // Required, this does the domain restriction
// Create a new activity object
Activity activity = new Activity()
.setObject(new Activity.PlusObject().setOriginalContent(msg))
.setAccess(acl);
// Attach the link
Activity.PlusObject.Attachments attachment = new Activity.PlusObject.Attachments();
attachment.setObjectType("photo");
attachment.setUrl( "http://c299813.r13.cf1.rackcdn.com/MuseeduLouvre_1335428699_org.jpg" );
attachment.setId( randomId ); //if not specified, google returns an error with "you must specify the photo id"
List<Activity.PlusObject.Attachments> attachments = new ArrayList();
attachments.add(attachment); // You can also add multiple attachments to the post
activity.getObject().setAttachments(attachments);
activity = plus.activities().insert("me", activity).execute();
当代码调用execute时,我收到此错误:
com.google.api.client.googleapis.json.GoogleJsonResponseException: 500
{
"code": 500,
"message": null
}
at com.google.api.client.googleapis.json.GoogleJsonResponseException.from(GoogleJsonResponseException.java:145)
相同的代码,但使用attachemnt行注释工作正常。有人设法用图像创建活动吗?任何线索?
提前致谢。
答案 0 :(得分:2)
无法通过网址直接附加照片。该过程的工作方式略有不同,如下所述:https://developers.google.com/+/domains/posts/attaching-media
如果您没有照片的实际二进制数据,首先必须“下载”照片。然后,您可以通过media().insert
方法上传实际的照片数据,这将为您提供照片ID,然后您可以在attachment.setId()
中使用。
在这种情况下,setUrl
不是必需的。
如果您想将照片作为网址附加,这也可以像article
附件一样处理(就像您只是将网址复制/粘贴到Google+信息中一样)。在这种情况下,您将使用attachment.setObjectType("article")
并仅设置网址。在这种情况下,id不是必需的。