我想为Google Documents List API创建一个Android客户端应用程序,考虑到它可能会在不久的将来被Google Drive API取代。因此,我使用google-api-java-client实现了身份验证,如果需要,这可能会简化到新API的转换。
现在我正在尝试扩展Google提供的shared-sample-docs项目中的DocsClient.java课程,以便能够与用户联系人共享文档。
我发现没有比@yanivinbar撰写的以下介绍更好的信息:http://javadoc.google-api-java-client.googlecode.com/hg/1.4.1-beta/com/google/api/client/googleapis/xml/atom/package-summary.html
从Google Documents List API文档中,我发现ACL用于向其他用户提供对特定文档的访问权限。但是,我不清楚我应该实现哪些方法来实现这个或其他常见的API相关事务。
答案 0 :(得分:0)
您是对的,您需要为文档条目添加ACL条目。您可以使用以下方法:
public void shareFile(DocumentListEntry documentListEntry,
AclScope.Type type, String value, String role)
throws MalformedURLException, IOException, ServiceException {
// Instantiate a AclEntry object to update sharing permissions.
AclEntry acl = new AclEntry();
// Set the ACL scope.
acl.setScope(new AclScope(type, value));
// Set the ACL role.
acl.setRole(new AclRole(role));
// Insert the new role into the ACL feed.
service.insert(new URL(documentListEntry.getAclFeedLink().getHref()), acl);
}
此处服务是com.google.gdata.client.docs.DocsService的对象。您还可以在文档中指定不同的共享types和roles。
对上述方法的可能调用可以是
shareFile(entryObj,AclScope.Type.USER,"your email id",AclRole.OWNER);
shareFile(entryObj,AclScope.Type.DOMAIN,"domain name",AclRole.READER);