Google文档API通过批量操作获取ACL

时间:2012-04-30 00:28:47

标签: objective-c gdata-api google-docs-api google-drive-api

我正在开发一款iPhone应用,而不是使用Google应用API。

我正在获取Google文档中的所有文档,并希望获取每个文档的ACL。我可以通过致电:

来做到这一点
[service fetchFeedWithURL:entry.ACLFeedLink.URL completionHandler:^(GDataServiceTicket *ticket, GDataFeedBase *ACLFeed, NSError *error){            
}];

但是因为我希望每个文档都有ACL,所以这需要很多请求。我可以使用批处理操作吗?

我尝试了以下内容:

GDataFeedBase *batchFeed = [[GDataFeedBase alloc] init];
NSURL *batchUrl = [[feed batchLink] URL];

GDataBatchOperation *batchOperation = [GDataBatchOperation batchOperationWithType:kGDataBatchOperationQuery];
[batchFeed setBatchOperation:batchOperation];

GDataEntryBase *entryACL = [[GDataEntryBase alloc] init];
[entryACL setIdentifier:[[[[feed entries] objectAtIndex:0] ACLFeedLink] href]];
[batchFeed addEntryWithEntry:entryACL];

[service fetchFeedWithBatchFeed:batchFeed forBatchFeedURL:batchUrl completionHandler:^(GDataServiceTicket *ticket, GDataFeedBase *feed, NSError *error){
}];

但它确实有效。我只获得实际文件,而不是ACL提要。

任何人都可以帮助我吗?感谢。

1 个答案:

答案 0 :(得分:1)

只能对单个资源上的多个ACL执行ACL批处理,因此这对您没有帮助。

对于获取ACL更有用的方法是在GET上使用expand-acl查询参数,例如:

GET https://docs.google.com/feeds/default/private/full/?v=3&expand-acl=true