gpt4 book ai didi

ios - GTLDriveFile 的下载 url 为零,甚至 GTLDriveFileExportLinks 为零

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:14:04 24 4
gpt4 key购买 nike

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

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

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

- (void)fetchFiles {

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

- (void)displayResultWithTicket:(GTLServiceTicket *)ticket
finishedWithObject:(GTLDriveFileList *)files
error:(NSError *)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 来完成任务。

如有任何帮助,我们将不胜感激。

最佳答案

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

类似的东西。

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

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

https://github.com/ConfusedVorlon/HSGoogleDrivePicker

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com