您好我正试图查看我在谷歌硬盘上存储的文件。登录过程没有问题,但是一旦我尝试在google驱动器上请求文件列表,我就会收到此错误:
错误域= com.google.GTLRErrorObjectDomain代码= 403“超出未经身份验证的使用的每日限制。继续使用需要注册。”
我按照谷歌驱动器文档进行安装,但无论我做什么,我都会一遍又一遍地得到错误。
以下是我viewDidLoad
的样子:
var error: NSError?
GGLContext.sharedInstance().configureWithError(&error)
if error != nil {
print(error!)
return
}
GIDSignIn.sharedInstance().uiDelegate = self
GIDSignIn.sharedInstance().delegate = self
GIDSignIn.sharedInstance().scopes = scopes
let googleSignIn = GIDSignInButton(frame: CGRect(x: 0, y: 0, width: 100, height: 50))
googleSignIn.center = view.center
view.addSubview(googleSignIn)
这是用户成功登录时的功能:
func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {
if error != nil {
print(error)
return
}
print("\n")
print(user.profile.email)
print("\n")
let query = GTLRDriveQuery_FilesList.query()
query.pageSize = 10
service.executeQuery(query, delegate: self, didFinish: #selector(displayResultWithTicket(ticket:finishedWithObject:error:))
)
}
我确实正确打印了我的电子邮件,因此我知道它已登录,如果打印我的电子邮件,则会立即显示错误。
这是displayResultWithTicket函数:
@objc func displayResultWithTicket(ticket: GTLRServiceTicket,
finishedWithObject result : GTLRDrive_FileList,
error : NSError?) {
if let error = error {
print(error)
return
}
if let files = result.files, !files.isEmpty {
print("Files:\n")
for file in files {
print(file.name!)
print(file.identifier!)
}
} else {
print("No files found")
}
}
感谢任何帮助!
答案 0 :(得分:0)
要说明您的错误,此文档说明您已达到Google Drive API最高请求率。每种限制因您使用的请求类型而异。建议Batch the request。
另外,请确保Google+ API的状态为ON
。转动ON
后等待几分钟,确保在再次尝试之前获得新的令牌。
有关此错误的参考,您可以查看此SO帖子。