【问题标题】:Using the Google Drive iOS API, how can I create a folder AND share it?使用 Google Drive iOS API,我如何创建文件夹并共享它?
【发布时间】:2014-02-12 20:45:29
【问题描述】:
使用 Google Drive iOS API,我如何创建文件夹并共享它?
GTLDriveFile * folder = [GTLDriveFile object];
folder.title = @"Test";
folder.mimeType = @"application/vnd.google-apps.folder";
// ???
【问题讨论】:
标签:
ios
google-drive-api
file-sharing
【解决方案1】:
也许这个对你有帮助。此代码用于创建具有特定名称的文件夹。
代码 1:
-(void)createFolderWithName:(NSString *)folderName {
GTLDriveFile *file = [GTLDriveFile object];
file.title = @"FileUpload";
file.mimeType = @"application/vnd.google-apps.folder";
// To create a folder in a specific parent folder, specify the identifier
// of the parent:
// _resourceId is the identifier from the parent folder. Here i am using root as the parent folder.
NSString *resourceId = @"root";
if (resourceId.length && ![resourceId isEqualToString:@"0"]) {
GTLDriveParentReference *parentRef = [GTLDriveParentReference object];
parentRef.identifier = resourceId;
file.parents = [NSArray arrayWithObject:parentRef];
}
GTLQueryDrive *query1 = [GTLQueryDrive queryForFilesInsertWithObject:file uploadParameters:nil];
[[self appDelegate].driveService executeQuery:query1 completionHandler:^(GTLServiceTicket *ticket, id object, NSError *error) {
if (!error) {
//I see this in the console...
//No Errors in Folder Query:
//GTLDriveFileList 0x108f3430: {kind:"drive#fileList"
//etag:""Q5ElJByAJoL0etObruYVPRipH1k/vyGp6PvFo4RvsFtPoIWeCReyIC8""}
NSLog(@"No Errors in Folder Query: %@",object);
GTLDriveFileList *list = (GTLDriveFileList *)object;
//So, none of this for() loop happens
for (GTLDriveFile *file in list.items) {
NSLog(@"Folder: \n \n %@ \n \n",file);
//NSLog(@"\n file extension value is %@",file.fileExtension);
//NSLog(@"\n file size value is %@",file.fileSize);
}
} else {
NSLog(@"Folder Query Error: %@",error);
}
}];
}
在上面的代码中,resourceId 是父文件夹 id,你想在其下创建文件夹。
我不知道如何共享整个文件夹,但我认为它就像共享文件一样。
如果您想了解特定文件共享,请参考此链接。在链接中,您可以找到objective-c 代码的示例。
https://developers.google.com/drive/v2/reference/permissions/insert