2

我正在使用谷歌客户端 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);
}];

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

以前版本的 google drive api 正在返回 web 内容链接。如何获取 Web 内容链接?

4

1 回答 1

4

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

于 2016-11-08T13:49:29.247 回答