将新文件上传到云端硬盘后,Google云端硬盘Api V3未返回网页内容链接?

时间:2016-11-07 17:01:34

标签: ios google-drive-api google-client google-api-objc-client

我正在使用Google客户端Api V3从我的IOS应用程序上传文件。 我使用的范围是

NSArray *scopes = [NSArray arrayWithObjects:kGTLAuthScopeDrive,kGTLAuthScopeDriveFile,kGTLAuthScopeDriveAppdata,kGTLAuthScopeDriveMetadata, nil];

我用于上传新文件的代码是

  GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithData:data MIMEType:file.mimeType];
                    GTLQuery * query = [GTLQueryDrive queryForFilesCreateWithObject:metadata uploadParameters:uploadParameters];
                                            GTLServiceTicket *uploadTicket=[self.gogService executeQuery:query completionHandler:^(GTLServiceTicket *ticket,
                                                                                                           GTLDriveFile *updatedFile,
                                                                                                           NSError *error) {
 if (error == nil) {
        NSLog(@"File WebContent Link %@", [updatedFile webViewLink]);
}
else {
        NSLog(@"An error occurred: %@", [error localizedDescription]);
 }
 }];
[uploadTicket setUploadProgressBlock:^(GTLServiceTicket *ticket, unsigned long long totalBytesWritten, unsigned long long totalBytesExpectedToWrite)
{
       progressBar.progress=(1.0*totalBytesWritten/(1.0*totalBytesExpectedToWrite)) ;
       NSLog(@"%llu",totalBytesWritten);
       NSLog(@"%llu",totalBytesExpectedToWrite);
}];

问题是网页内容链接为空,并希望它将其存储在我的数据库中,因为我的网页应用程序将使用此链接打开该文件。

以前版本的google drive api正在返回网页内容链接。 我如何获得Web Content Link?

1 个答案:

答案 0 :(得分:3)

请查看此文档:Migrate to Google Drive API v3。请注意,默认情况下不再返回完整资源。使用fields查询参数请求返回特定字段。如果未指定,则仅返回常用字段的子集。您可以查看此sample以供参考。