适用于iOS的Google云端硬盘SDK:查询问题

时间:2013-05-13 17:05:57

标签: ios google-drive-api

我遇到了GTLQueryDrive的问题 来自queryForChildrenListWithFolderId:@"root"&的回调queryForFilesList方法返回0项。 NSLog(@"files count: %d", files.items.count)给了我0。

https://github.com/googledrive/dredit/tree/master/objectivec - 我正在使用此示例来使用Drive API,只是删除了搜索限制 - query.q = @"mimeType = 'text/plain'";以获取所有文件。

1 个答案:

答案 0 :(得分:2)

确保指定kGTLAuthScopeDrive。我犯了使用示例应用程序中的kGTLAuthScopeDriveFile的错误;这会将范围限制为仅由您的应用创建的文件,而kGTLAuthScopeDrive则允许您的应用访问所有用户的文件。

此外,对于'root'查询,请在parent中添加@“'root',并在您的query.q中添加trashed = false”。例如我的看起来像这样:

GTLQueryDrive *query;
if ([self isRoot])
{
    query = [GTLQueryDrive queryForChildrenListWithFolderId:@"root"];
    query.q = @"'root' in parents and trashed=false";
}
else
{
    query = [GTLQueryDrive queryForChildrenListWithFolderId:self.metadata.identifier];
    query.q = @"trashed=false";
}