来自Google的意外403错误

时间:2014-09-09 12:32:51

标签: ios google-drive-api

我目前正在维护由其他人开发的iOS应用程序。应用程序工作正常,直到今天我每次尝试连接到Google云端硬盘时突然开始返回403代码。这是完整的错误:

  

发生错误:错误Domain = com.google.GTLJSONRPCErrorDomain   代码= 403“无法完成操作。(访问未配置。   请使用Google Developers Console为您的API激活API   项目。)“UserInfo = 0x17db6180 {error = Access Not Configured。请   使用Google Developers Console激活项目的API。   GTLStructuredError = GTLErrorObject 0x17db5ef0:{message:“Access Not   配置。请使用Google Developers Console激活API   为您的项目。“代码:403数据:[1]},   NSLocalizedFailureReason =(访问未配置。请使用Google   开发人员控制台,用于激活项目的API。)}

我在Google控制台中启用了Google云端硬盘,并附带谷歌给我的代码,但我仍然无法克服此错误。

我正在使用Google APIs Client Library for Objective-C连接到GDrive。

6 个答案:

答案 0 :(得分:1)

嗨我在我的mac机器1个月前也遇到了类似的错误,我添加了DNS服务器8.8.8.8并且工作正常。可能会在iOS设备中提供类似的选项,可以帮助您。

答案 1 :(得分:1)

我认为这个问题是因为“API密钥”。请确保您已在项目中使用过API密钥,如果您已使用过该密钥,请检查该密钥的有效性。

答案 2 :(得分:0)

查看BigQuery的错误https://developers.google.com/bigquery/troubleshooting-errors Google会针对多种不同情况(包括一些配额限制)返回403错误。

也许在Drive中他们使用相同类型的错误

答案 3 :(得分:0)

我认为这是我最近的改变。 在Google项目控制台中,检查是否启用了对以下内容的访问权限:

  1. 联系人
  2. 谷歌+
  3. 还有人建议我将“Referers”设置为“允许任何引用者”。但不确定。

    请尝试。

答案 4 :(得分:0)

以下是此问题的解决方法:

您只需在请求中添加范围kGTLAuthScopeDriveFile即可。请参阅以下代码以了解其实施情况。

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

重要提示:现在您必须再次授权您的用户,以便可以正确授予用户权限。

之后你的代码将完美运作!

答案 5 :(得分:0)

这似乎是在谷歌的一面。我们这边没有任何变化的一个电话打电话似乎已经解决了。