java - 无法打开通过 java google-drive-sdk 共享的文件,除非用户首先通过 drive.google.com 打开文件

标签 java google-drive-api

用例是一个可嵌入的编辑器,使用 Google 云端硬盘作为驱动器。我想在用户不必与 drive.google.com 交互的情况下执行此操作。嵌入器调用我的 API 来创建文件、添加权限等。一切都很好,除了:

Drive.Builder(transport, jsonFactory, credential)
                                .build().files().get(fileId).execute();

返回 null 除非该文件已通过 drive.google.com 至少打开一次。无论文件是通过 drive.google.com 还是通过我的 API 使用我的应用程序打开的,运行的代码都是完全相同的。凭据也是一样的。

这是设计使然还是我遗漏了什么?

最佳答案

您正在使用 drive.file 作用域,可能这两个应用都没有访问该文件的权限。查看谷歌 documentation for scopes .

关于java - 无法打开通过 java google-drive-sdk 共享的文件,除非用户首先通过 drive.google.com 打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14624388/

相关文章:

google-apps-script - 如何使用谷歌脚本解压缩 blob(xlsx 文件)

node.js - 如何修复 Invalid multipart request with 0 mime parts 错误

google-api - 使用 Google Drive API 更新权限时出现 500 错误

java - 在 jooq 中使用数组参数调用 postgres 函数

java - 使用 CDI 生产者会导致不明确的依赖项异常

java - 在 Windows 上以管理员身份运行 Java 应用程序

java - 如何使用 java 8 将 Stream<Map<K,V>> 收集到 Map<K,List<V>> 中?

java - 如何将GUI类和scanner类结合起来?

ios - Google 云端硬盘作为视频托管/流媒体平台?

Swift Google Drive 下载文件