我正在使用Google Drive API在我的应用程序中获取并下载文件。我成功地获取了所有文件的列表。但是当我想下载GTMSessionFetcher的文件时,它在控制台" domain = com.google.google.httpstatus code = 403"中向我显示了此错误。/strong>(null)"
当我试图在浏览器上击中URL时,它向我显示了这个
**{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "dailyLimitExceededUnreg",
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup.",
"extendedHelp": "https://code.google.com/apis/console"
}
],
"code": 403,
"message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
}
}**
我不明白为什么会发生这种情况。在您的错误处理页面上,他们说我需要要求一些其他配额,这就是为什么我要求配额的原因。请帮助我先生,尽快摆脱这个问题,我浪费了很多时间来解决解决方案。
那就是我尝试下载的方式
NSString *url = [NSString stringWithFormat:@"https://www.googleapis.com/drive/v3/files/%@/export?alt=media&mimeType=application/pdf",[self.listPAtharray objectAtIndex: indexPath.row]];
NSLog(@"url is %@",url);
GTMSessionFetcher *fetcher = [self.service.fetcherService fetcherWithURLString:url];
[fetcher beginFetchWithCompletionHandler:^(NSData *data, NSError *error) {
if (error == nil) {
NSLog(@"Retrieved file content");
// Do something with data
} else {
NSLog(@"An error occurred: %@", error);
}
}];
此处列表路径阵列存储所有文件ID
建议的遇到错误的建议是请求其他配额,但是如果您已经这样做并且仍然存在问题,请尝试对用户进行身份验证,如驱动器平台最佳实践中所建议的那样。
您可以实施以下内容,以帮助您构建高质量的Google Drive应用程序。
-
验证用户
- 使用OAuth 2.0和Google的身份API来验证新用户和现有用户。只要您避免它,就不需要用户为您的应用程序创建新密码。
-
授权访问
- OAUTH 2.0驱动器应用程序框架解决了许多授权挑战。
-
处理错误:被撤销或无效令牌
- Google Drive应用程序应在调用驱动器API时返回HTTP 401或HTTP 403响应的API。
-
优雅处理拒绝访问请求
- 打开和创建文件
- 处理共享文件
- 提高性能
- 处理API错误
- 驱动器应用程序应捕获并处理使用REST API时可能遇到的所有错误。有关API返回的错误的参考,请参见处理API错误。
您可以浏览给定的文档以获取更多信息。