OGeek|极客世界-中国程序员成长平台

标题: ios - GTLDriveFile 的下载地址为零,甚至 GTLDriveFileExportLinks 为零 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 09:05
标题: ios - GTLDriveFile 的下载地址为零,甚至 GTLDriveFileExportLinks 为零

我想从 google-drive 下载文件。我已经从驱动器中获取了 GTLDriveFile 对象。但是这些文件对象的 downloadUrl 属性是 nil

谷歌搜索更多,我知道 file.exportLinks 也有下载链接。但这也即将到来 nil

我用这段代码来获取文件:

- (void)fetchFiles {

GTLQueryDrive *query =
[GTLQueryDrive queryForFilesList];
query.maxResults = 10;
[self.service executeQuery:query
                  delegate:self
         didFinishSelectorselector(displayResultWithTicket:finishedWithObject:error];
       }

- (void)displayResultWithTicketGTLServiceTicket *)ticket
         finishedWithObjectGTLDriveFileList *)files
                      errorNSError *)error {
if (error == nil) {
    if (files.items.count > 0) {
        fileArr=files.items;
    }
}
}

这里 fileArr 有 GTLFileDrive 类的文件。

从 Google-drive 开发者网站,我得到以下代码片段来使用参数 Url 下载文件:

GTMHTTPFetcher *fetcher = [self.service.fetcherService fetcherWithURLString: urlOfFile];
[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) {
    if (error == nil) {

        NSLog(@"Retrieved file content");
        // Do something with data

    } else {

        NSLog(@"An error occurred: %@", error);
    }
}];

我需要 urlOfFile 来完成任务。

任何帮助将不胜感激。



Best Answer-推荐答案


当您进行初始身份验证时,您需要请求正确的范围 - 否则,您只能获得列出文件的权利,而不能下载它们。

类似的东西。

NSArray *scopes = [NSArray arrayWithObjects:kGTLAuthScopeDrive, nil];
authController = [[GTMOAuth2ViewControllerTouch alloc]
                  initWithScope:[scopes componentsJoinedByString" "]
                  clientID:self.clientId
                  clientSecret:self.clientSecret
                  keychainItemName:kKeychainItemName
                  delegate:self
                  finishedSelectorselector(viewController:finishedWithAuth:error];

您可以在我的新 Google Drive Picker 中看到这一切

https://github.com/ConfusedVorlon/HSGoogleDrivePicker

关于ios - GTLDriveFile 的下载地址为零,甚至 GTLDriveFileExportLinks 为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31474731/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4