使用Google iOS SDK将文件上传到Google云端硬盘
关于如何将文件上传到现有Google云端硬盘文件夹的快速演练
Google云端硬盘的Google Developer文档中没有专门的iOS集成部分。
我花了很短的时间来弄清楚如何将文件上传到现有或新文件夹 ,并且这篇文章总结了如何执行此基本操作。
脚步
- 先决条件:设置本机Google登录。 请参阅此帖子以获取分步说明。
- 导入Google Drive REST API客户端SDK
- 在您的应用中设置Google Drive API服务
- 检索现有文件夹或创建文件夹
- 上载档案
导入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