我目前正在维护由其他人开发的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。
答案 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项目控制台中,检查是否启用了对以下内容的访问权限:
还有人建议我将“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)
这似乎是在谷歌的一面。我们这边没有任何变化的一个电话打电话似乎已经解决了。