无法从谷歌驱动器ios下载文件。显示“超出每日限额”

时间:2016-06-23 07:17:13

标签: ios google-drive-api

我正在使用google drive api来获取并下载我的应用程序中的文件。我成功获取了驱动器上所有文件的列表。但是当我想通过GTMSessionFetcher下载文件时,它会在我的控制台中显示此错误“Domain = com.google.HTTPStatus Code = 403”< /强>(空) “”
                     当我试图在浏览器上点击网址时,它会显示我

**{
 "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

1 个答案:

答案 0 :(得分:1)

您遇到的错误的建议操作是请求额外的配额,但如果您已经这样做并且问题仍然存在,请尝试按照Drive Platform Best Practices中的建议对用户进行身份验证。

您可以实施以下内容来帮助您构建高质量的Google云端硬盘应用。

  1. 对用户进行身份验证

    • 使用OAuth 2.0Google's identity APIs对新用户和现有用户进行身份验证。只要您能够避免它,就不要求用户为您的应用程序创建新密码。
  2. 授权访问

    • 针对云端硬盘应用的OAuth 2.0框架解决了许多授权挑战。
  3. 处理错误:已撤销或无效的令牌

    • Google云端硬盘应用应该考虑在调用Drive API时返回HTTP 401或HTTP 403响应的API。
  4. 优雅地处理被拒绝的访问请求

  5. 打开并创建文件
  6. 处理共享文件
  7. 提高绩效
  8. 处理API错误
    • 云端硬盘驱动程序应该捕获并处理使用REST API时可能遇到的所有错误。有关API返回的错误的参考,请参阅Handling API Errors
  9. 您可以查看给定的文档以获取更多信息。