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]; 

其中googleDriveServiceGTLServiceDrive类的一个实例。

对于位于Google云端硬盘上的某些文件,我可以从两个选项中select我的应用的用户 – 无论他们是要下载副本以保存在设备上,还是仅使用GTLServiceDrive关键字webContentLink维护引用并按需访问内容(无需下载并保存到文档或高速caching)。

对于第二个选项, 我希望我的应用程序在UIWebView显示文件

它几乎与以下代码一起工作…

 ...other code to prepare UIWebView... NSURLRequest *request = [NSURLRequest requestWithURL: << webContentLink >>]; [webView loadRequest:request]; 

加载Web视图,但提出了OAuthlogin页面,我猜是因为loadRequest:方法要求未经授权访问私人文件。

我注意到…

  1. 我已经在初始连接(安装过程)期间设置了OAuth钥匙串项目以检索文件夹&文件列表和元数据。
  2. 一旦我第二次使用第二个OAuth视图控制器login,该login看起来会持续下去(不再需要),包括设备closures和重启之后。

也许第二个钥匙链项目自动添加?

是否有一些方法可以使用,类似GTMHTTPFetcher类的authorize属性,允许我在UIWebView显示Google Drive文件,但不要求用户完成第二次login,虽然他们被要求做第二次login只有一次?