我正在尝试导入在Google云端硬盘中创建的文件(特别是他们的文档格式)
我了解如果我的应用可以用于打开支持的MIME类型中指定的MIME类型text/html
,那么我可以使用云端硬盘中的“打开方式...”功能来启动我的应用。
然而,当我尝试通过fileId检索内容时遇到问题,fileID似乎只存在于“真实”文件类型的文件中,例如我可以通过传递给我的应用程序的ID打开存储在Drive中的.html文件。
尝试打开Google文档时,我传递了一个exportId - 可能是Drive已将文档导出到的文件的ID。
我找不到有关如何从其exportID检索文件的任何文档。
传递的'state'参数包含以下JSON编码数组。
" string(111) "{"exportIds":["14JZ-Lf5BpU0h8bNufrmiWgz1bd184BfyPvdgmiwBDyU"],"action":"open","userId":"110065623489887237624"}"
我只能假设exportIds是一个数组,因为文档可以导出为多种格式,每种格式都有一个unquire exportId。
更新
所以我的假设几乎就在那里,但我发现这表明我应该可以访问exportLinks
一旦有了导出ID,应用就可以获取文件元数据并从exportLinks值中提取所需的下载URL。这些是键值对,其中键是MIME类型,值是转换后文件的下载URL。该应用程序可以从下载URL下载转换后的文件内容。应用程序可以将转换后的文件显示为只读,或者让用户将它们另存为新文件
答案 0 :(得分:0)
实际上你的假设并不完全正确。
exportIds与ids相同。 Drive会将这些ID作为exportIds发送,只是为了提示您ids是指Google文档而不是简单文件。因此,使用exportId来获取File对象,你就可以了。它是一个数组的原因是因为用户可能选择了多个要打开的文件,所以你需要迭代数组并处理每个文件。