You see that it is adivsed to create your file with your app-specific mime type. Is it right way? I wonder because google drive somehow associates files with the application that created them for Open with functionality. Can this be exploited for the file picker?
3 回答
如果文件包含只有您的应用可以理解的自定义内容,请使用应用特定的 mime 类型。否则,对您正在使用的任何类型的文件使用标准的 mime 类型。
仅供参考-您提到您的项目 ID 是alpine-dogfish-833.
如果您登录到开发人员控制台,然后单击您的项目(将您带到项目“概述”页面),您将在顶部看到 2 个标识符:Project ID: alpine-dogfish-833
和Project Number: 1088706429537
。“项目编号”==“应用 ID”==“客户端 ID 上的数字前缀”
我终于发现,当您的应用程序(使用 CLIENT_ID 标识)创建具有 mime-type 的文件时application/vnd.google-apps.drive-sdk
,mime-type 会扩展为.<AppID>
. AppID 是您的 CLIENT_ID 的第一部分。基本上,项目 ID 看起来像alpine-dogfish-833
我的情况。然后我生成了 Client_ID1088706429537-4oqhqr7o826ditbok23sll1rund1jim1.apps.googleusercontent.com
和 1088706429537 是我们正在寻找的 AppID 因为当我的应用程序创建一个文件时,使用
gapi.client.drive.files.insert({
'resource': {
mimeType: application/vnd.google-apps.drive-sdk,
title: file_name
}
注意 mime-type 是application/vnd.google-apps.drive-sdk
-- 它不包含任何应用程序 ID。查询文件显示结果文件的有效 mime 类型实际上是application/vnd.google-apps.drive-sdk.1088706429537
. 即使你拼错application/vnd.google-apps.drive-sdk
了一点,谷歌甚至可以修复 mime 类型。
这回答了我的问题,因为消除了所有的困惑。主要的困惑是您的项目有额外的应用程序 ID,您甚至可以在 CLIENT-ID 之前获得它,但它与使用特定于应用程序的 mime-type 签署文件无关。我在提到的问答中没有找到。其次,这回答了我的问题,因为它基本上说 mime-type 包含 APP_ID,因此 app id 和 mime-type 是同一件事,两者之间没有区别/冗余/冲突。