小编ban*_*nsz的帖子

有没有办法从文件选择器意图中获取 Google Sheets fileid?

在我的 Android 应用程序中,我希望用户打开 Google Sheets 文档,将其中的数据导入到应用程序数据库中。

  1. ACTION_GET_CONTENT使用/ACTION_OPEN_DOCUMENT和 MIME 过滤器可以轻松选择文件application/vnd.google-apps.spreadsheet。(这将是一个虚拟文件。)

  2. 使用基于云端硬盘归档 ID(具有用户授予的范围)的 Google Sheets API 也可以轻松获取 Google Sheets 文档的内容spreadsheets.readonly

Sheets.Builder(transport, jsonFactory, appCredential)
   .build()
   .spreadsheets()
   .get(fileid)
   .execute()
Run Code Online (Sandbox Code Playgroud)

但第一步返回设备上文件的Uri,第二步需要Drive文件的文件id
如何从第一个中确定第二个?

我发现的唯一糟糕的解决方案是使用 Google Drive API:我使用从意图中获得的名称搜索 Sheets 文件,然后获得它的 id...它需要范围drive.metadata.readonly,这是一个受限范围,并且doh...无论如何这都不是一个可行的解决方案...
我可以从虚拟文件的uri下载pdf,但它不适合导入数据。

如果有人知道答案,万分感谢!

android android-intent google-sheets-api

5
推荐指数
1
解决办法
184
查看次数