使用Google iOS SDK将文件上传到Google云端硬盘

关于如何将文件上传到现有Google云端硬盘文件夹的快速演练

Google云端硬盘的Google Developer文档中没有专门的iOS集成部分。

我花了很短的时间来弄清楚如何将文件上传到现有或新文件夹 ,并且这篇文章总结了如何执行此基本操作。

脚步

  1. 先决条件:设置本机Google登录。 请参阅此帖子以获取分步说明。
  2. 导入Google Drive REST API客户端SDK
  3. 在您的应用中设置Google Drive API服务
  4. 检索现有文件夹或创建文件夹
  5. 上载档案

导入Google Drive REST API客户端SDK

Cocoapods是SDK的推荐交付方式。 SDK源文件位于Github上。

将以下内容添加到您的Podfile中:

  use_frameworks! 
  #当时固定到最新版本 
pod'GoogleSignIn','〜> 4.4.0'
pod'GoogleAPIClientForREST / Drive','〜> 1.3.7'

在您的应用中设置Google Drive API服务

为了简洁起见,所有方法都在单个视图控制器中实现。

在应用中成功设置Google登录后 ,还需要在GIDSignIn单例对象上指定访问范围,该对象用于管理OAuth身份验证和授权流程:

 导入GoogleSignIn 
导入GoogleAPIClientForREST
 类ViewController:UIViewController { 
覆盖func viewDidLoad(){
super.viewDidLoad()
  GIDSignIn.sharedInstance()?. delegate =自我 
GIDSignIn.sharedInstance()?. uiDelegate =自我
  GIDSignIn.sharedInstance()?. scopes = 
[kGTLRAuthScopeDrive]

GIDSignIn.sharedInstance()?. signInSilently()
  // ... 
}
}

添加kGTLRAuthScopeDriveFile范围将要求用户在OAuth流程中允许对您的应用程序进行完全Google Drive访问(读取和写入)。

添加一个GTLRDriveService实例变量,该变量将负责发出Google Drive API请求(例如,上传文件和列出文件夹)。

还要添加一个GIDGoogleUser变量。 这将允许您仅列出用户拥有的文件和文件夹,并且将排除共享项目。

  导入GoogleAPIClientForREST 
 类ViewController:UIViewController { 
让googleDriveService = GTLRDriveService()
var googleUser:GIDGoogleUser?
   // ... 
}

用户成功登录后,可以在GTLRDriveService上设置authorizer属性 这样可以确保该服务对Google Drive API的所有请求均包含任何必需的身份验证标头和值(例如访问令牌,刷新令牌)。

参考文献

  • 关于Google云端硬盘SDK-Google Developer Docs
  • Google Drive Rest API:文件-Google Developer Docs
  • 在您的应用程序中使用Google云端硬盘-Agostini.tech