Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t从ios上传照片到谷歌硬盘_Ios_Swift_Google Drive Api - Fatal编程技术网

Can';t从ios上传照片到谷歌硬盘

Can';t从ios上传照片到谷歌硬盘,ios,swift,google-drive-api,Ios,Swift,Google Drive Api,我从一开始就学习了教程 我注册我的应用程序,获得密钥并将其放入应用程序中,在此处获得一些令牌: func viewController(vc:UIViewController, 使用身份验证结果完成身份验证:GTMOAUTH2身份验证,错误:NSError?){ 很好。但当我试图将照片上传到谷歌光盘时,我遇到了以下错误: {“错误”:{“代码”:403,“消息”:“权限不足”,“数据”:[{“域”:“全局”,“原因”:“权限不足”,“消息”:“权限不足”}]},“id”:“gtl_1”} 201

我从一开始就学习了教程 我注册我的应用程序,获得密钥并将其放入应用程序中,在此处获得一些令牌: func viewController(vc:UIViewController, 使用身份验证结果完成身份验证:GTMOAUTH2身份验证,错误:NSError?){

很好。但当我试图将照片上传到谷歌光盘时,我遇到了以下错误: {“错误”:{“代码”:403,“消息”:“权限不足”,“数据”:[{“域”:“全局”,“原因”:“权限不足”,“消息”:“权限不足”}]},“id”:“gtl_1”} 2016-04-23 14:21:06.329项目名称[560:210039]过早失败:上传状态:“最终”位置:(空)

这是密码。有人能告诉我我做错了什么吗

func uploadPhoto(image: UIImage) {
  let name = "Photo"
  let content = image
  let mineType = "image/jpeg"

  let metadata = GTLDriveFile()
  metadata.name = name

  guard let data = UIImagePNGRepresentation(content) else {
    return
  }
  let uploadParameters = GTLUploadParameters(data: data, MIMEType: mineType)
  let query = GTLQueryDrive.queryForFilesCreateWithObject(metadata,    uploadParameters: uploadParameters) as GTLQueryDrive
  service.executeQuery(query) { (ticket, updatedFile, error) in
    print(ticket)
    if error != nil {
      print(error)
    }
  }
}  

发现了问题-应该使用另一个作用域进行身份验证。没有从教程中得到它)你是什么意思?我面临着同样的问题。如何启用身份验证?@WasimSafdar,你好!我的意思是GoogleDrive有不同的作用域,它们有自己的访问级别。你可以在GTLDriveConstants中看到它们。m我用这个来向GoodleDrive priv写入文件ate let scopes=[kGTLAuthScopeDrive]发现了问题-应该使用另一个作用域进行身份验证。没有从教程中得到它)你是什么意思?我面临着同样的问题。如何启用身份验证?@WasimSafdar,你好!我的意思是GoogleDrive有不同的作用域,它们有自己的访问级别。你可以在GTLDriveConstants中看到它们。m我用这个来向GoodleDrive priv写入文件ate let scopes=[kGTLAuthScopeDrive]
func uploadPhoto(image: UIImage) {
  let name = "Photo"
  let content = image
  let mineType = "image/jpeg"

  let metadata = GTLDriveFile()
  metadata.name = name

  guard let data = UIImagePNGRepresentation(content) else {
    return
  }
  let uploadParameters = GTLUploadParameters(data: data, MIMEType: mineType)
  let query = GTLQueryDrive.queryForFilesCreateWithObject(metadata,    uploadParameters: uploadParameters) as GTLQueryDrive
  service.executeQuery(query) { (ticket, updatedFile, error) in
    print(ticket)
    if error != nil {
      print(error)
    }
  }
}