gpt4 book ai didi

android - 有没有办法从文件选择器 Intent 中获取 Google 表格文件 ID?

转载 作者:行者123 更新时间:2023-12-04 13:54:53 25 4
gpt4 key购买 nike

在我的 Android 应用程序中,我希望用户打开一个 Google 表格文档以将数据从中导入应用程序数据库。

  • 使用 ACTION_GET_CONTENT 选择文件很容易/ACTION_OPEN_DOCUMENT和 MIME 过滤器 application/vnd.google-apps.spreadsheet . (这将是一个虚拟文件。)
  • 使用基于 Drive 字段 id 的 Google Sheets API 获取 Google Sheets 文档的内容也很容易(用户授予的 spreadsheets.readonly 范围):
  • Sheets.Builder(transport, jsonFactory, appCredential)
    .build()
    .spreadsheets()
    .get(fileid)
    .execute()
    但第一步返回 文件的 Uri 在设备上,第二步需要 驱动器文件的文件 ID .
    如何从第一个中确定第二个?
    我发现的唯一糟糕的解决方案是使用 Google Drive API:我使用从 Intent 中获得的名称搜索 Sheets 文件,并得到它的 id...它需要 drive.metadata.readonly范围,这是一个受限制的范围,而且……无论如何,这不是一个可行的解决方案……
    我可以从虚拟文件的uri下载pdf,但不适合导入数据。
    如果有人知道答案,万分感谢!

    最佳答案

    这取决于 fileId 的类型是。 (我不熟悉那个特定的 API)。
    一般情况下需要使用ContentResolver转换 Uri转换成一些可用的类型,例如 InputStream , FileDescriptor , ETC。
    还有DocumentFile使用文档 URI 的实用程序类。

    关于android - 有没有办法从文件选择器 Intent 中获取 Google 表格文件 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64206816/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com