无法打开通过java google-drive-sdk共享的文件,除非用户先通过drive.google.com打开该文件
问题描述:
用例是一种使用Google Drive作为驱动器的嵌入式编辑器。我想在没有用户与drive.google.com互动的情况下这样做。嵌入器调用我的API创建文件,添加权限等,一切都很好,很正常,不同的是:除非通过drive.google.com的文件已经被打开至少一次无法打开通过java google-drive-sdk共享的文件,除非用户先通过drive.google.com打开该文件
Drive.Builder(transport, jsonFactory, credential)
.build().files().get(fileId).execute();
回报null
。无论文件是通过drive.google.com还是通过我的API与我的应用打开,这都是完全相同的一段代码。凭证也是一样的。
这是设计还是我错过了什么?
是的,你说的范围是正确的,谢谢。但只有一个应用程序,它是创建和打开的应用程序。我尝试了'drive.file'范围所述的内容:“对由应用创建或打开的文件的每个文件的访问权限”。该应用程序尝试打开由应用程序创建的文件,即使它试图为创建者以外的用户打开它们。为了涵盖我的用例,定义需要被“创建并打开......”,因为创建的是不够的。但是,我宁愿看到我的用例包含在原定义中,而不是新的定义;) –