iOS Google Drive SDK使用键“webContentLink”将文件加载到UIWebView中

时间:2014-04-19 14:29:28

标签: ios objective-c uiwebview google-drive-api google-oauth

我已使用Google Drive SDK在我的iOS应用中实现了与Google云端硬盘的远程连接。

我可以使用GTLServiceDrive类成功访问文件/文件夹列表和元数据,并使用GTMHTTPFetcher类下载内容。

当我使用GTMHTTPFetcher类下载内容时,我使用GTLServiceDrivedownloadUrl,并使用一行代码来授权下载 - 按照以下第二行代码...

GTMHTTPFetcher *fetcher = [googleDriveService.fetcherService fetcherWithURLString: << downloadUrl >>];
[fetcher setAuthorizer:googleDriveService.authorizer];

其中googleDriveServiceGTLServiceDrive类的实例。

对于位于Google云端硬盘上的某些文件,我让我的应用用户从两个选项中进行选择 - 他们是要下载副本以保存在设备上,还是仅使用GTLServiceDrive键维护引用{{ 1}}并按需访问内容(无需下载并保存到文档或缓存)。

对于第二个选项,我希望我的应用能够在webContentLink 中显示该文件。

它几乎使用以下代码......

UIWebView

Web视图加载但是会显示OAuth登录页面,我想因为loadRequest:方法要求在未经授权的情况下访问私有文件。

我注意到了......

  1. 我已经在初始连接(设置过程)期间设置了OAuth钥匙串项以检索文件夹&amp;文件列表&amp;元数据。
  2. 一旦我使用第二个OAuth视图控制器第二次登录,该登录似乎仍然存在(不再需要),包括在设备关闭和重启后。
  3. 也许会自动添加第二个钥匙串项目?

    是否有一些我可以使用的方法,类似于...other code to prepare UIWebView... NSURLRequest *request = [NSURLRequest requestWithURL: << webContentLink >>]; [webView loadRequest:request]; 类及其authorize属性,允许我在GTMHTTPFetcher中显示Google云端硬盘文件,但不要求用户完成第二次登录,虽然他们只需要第二次登录一次吗?

0 个答案:

没有答案