iOS Google Drive SDK使用关键“webContentLink”将文件加载到UIWebView中
我使用Google Drive SDK在我的iOS应用中实现了与Google云端硬盘的远程连接。
我可以使用GTLServiceDrive
类成功访问文件/文件夹列表和元数据,并使用GTLServiceDrive
类下载内容。
当我使用GTMHTTPFetcher
类下载内容时,我使用GTLServiceDrive
key downloadUrl
,并使用一行代码来授权下载 – 按照以下第二行代码进行授权:
GTMHTTPFetcher *fetcher = [googleDriveService.fetcherService fetcherWithURLString: << downloadUrl >>]; [fetcher setAuthorizer:googleDriveService.authorizer];
其中googleDriveService
是GTLServiceDrive
类的一个实例。
对于位于Google云端硬盘上的某些文件,我可以从两个选项中select我的应用的用户 – 无论他们是要下载副本以保存在设备上,还是仅使用GTLServiceDrive
关键字webContentLink
维护引用并按需访问内容(无需下载并保存到文档或高速caching)。
对于第二个选项, 我希望我的应用程序在UIWebView
显示文件 。
它几乎与以下代码一起工作…
...other code to prepare UIWebView... NSURLRequest *request = [NSURLRequest requestWithURL: << webContentLink >>]; [webView loadRequest:request];
加载Web视图,但提出了OAuthlogin页面,我猜是因为loadRequest:方法要求未经授权访问私人文件。
我注意到…
- 我已经在初始连接(安装过程)期间设置了OAuth钥匙串项目以检索文件夹&文件列表和元数据。
- 一旦我第二次使用第二个OAuth视图控制器login,该login看起来会持续下去(不再需要),包括设备closures和重启之后。
也许第二个钥匙链项目自动添加?
是否有一些方法可以使用,类似GTMHTTPFetcher
类的authorize属性,允许我在UIWebView
显示Google Drive文件,但不要求用户完成第二次login,虽然他们被要求做第二次login只有一次?