0

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

我正在获取 Google Docs 中的所有文档,并希望获取每个文档的 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 提要。

谁能帮我?谢谢。

4

1 回答 1

1

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

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

GET https://docs.google.com/feeds/default/private/full/?v=3&expand-acl=true
于 2012-04-30T16:51:54.560 回答