ios - GTLDriveFile 的下载地址为零,甚至 GTLDriveFileExportLinks 为零
<p><p>我想从 google-drive 下载文件。我已经从驱动器中获取了 GTLDriveFile 对象。但是这些文件对象的 <strong>downloadUrl</strong> 属性是 <strong>nil</strong>。 </p>
<p>谷歌搜索更多,我知道 <strong>file.exportLinks</strong> 也有下载链接。但这也即将到来 <strong>nil</strong>。 </p>
<p>我用这段代码来获取文件:</p>
<pre><code>- (void)fetchFiles {
GTLQueryDrive *query =
;
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;
}
}
}
</code></pre>
<p>这里 <strong>fileArr</strong> 有 GTLFileDrive 类的文件。 </p>
<p>从 Google-drive 开发者网站,我得到以下代码片段来使用参数 Url 下载文件:</p>
<pre><code>GTMHTTPFetcher *fetcher = ;
[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) {
if (error == nil) {
NSLog(@"Retrieved file content");
// Do something with data
} else {
NSLog(@"An error occurred: %@", error);
}
}];
</code></pre>
<p>我需要 urlOfFile 来完成任务。</p>
<p>任何帮助将不胜感激。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>当您进行初始身份验证时,您需要请求正确的范围 - 否则,您只能获得列出文件的权利,而不能下载它们。</p>
<p>类似的东西。</p>
<pre><code>NSArray *scopes = ;
authController = [
initWithScope:
clientID:self.clientId
clientSecret:self.clientSecret
keychainItemName:kKeychainItemName
delegate:self
finishedSelector:@selector(viewController:finishedWithAuth:error:)];
</code></pre>
<p>您可以在我的新 Google Drive Picker 中看到这一切</p>
<p> <a href="https://github.com/ConfusedVorlon/HSGoogleDrivePicker" rel="noreferrer noopener nofollow">https://github.com/ConfusedVorlon/HSGoogleDrivePicker</a> </p></p>
<p style="font-size: 20px;">关于ios - GTLDriveFile 的下载地址为零,甚至 GTLDriveFileExportLinks 为零,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/31474731/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/31474731/
</a>
</p>
页:
[1]