通过Google + Domains API将照片附加到活动

时间:2013-08-22 09:38:48

标签: google-plus

我尝试使用新的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行注释工作正常。有人设法用图像创建活动吗?任何线索?

提前致谢。

1 个答案:

答案 0 :(得分:2)

无法通过网址直接附加照片。该过程的工作方式略有不同,如下所述:https://developers.google.com/+/domains/posts/attaching-media

如果您没有照片的实际二进制数据,首先必须“下载”照片。然后,您可以通过media().insert方法上传实际的照片数据,这将为您提供照片ID,然后您可以在attachment.setId()中使用。 在这种情况下,setUrl不是必需的。

如果您想将照片作为网址附加,这也可以像article附件一样处理(就像您只是将网址复制/粘贴到Google+信息中一样)。在这种情况下,您将使用attachment.setObjectType("article")并仅设置网址。在这种情况下,id不是必需的。