【问题标题】:Google Docs API fetch ACL with batch operationGoogle Docs API 使用批处理操作获取 ACL
【发布时间】:2012-04-30 00:28:46
【问题描述】:

我正在开发一个使用 Google 应用 API 的 iPhone 应用。

我正在获取 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 提要。

谁能帮帮我?谢谢。

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢。这正是我所需要的!
    猜你喜欢
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    相关资源
    最近更新 更多