对于已安装我们的 Chrome 网上应用店应用程序但尚未启用驱动器的用户,我在选择器 api 方面遇到了困难。对于处于这种状态的用户,可以使用 files/insert api 保存新文件,这会返回成功响应,但这些文件不会显示在选择器中。一旦用户启用驱动器,他们之前保存的所有文件都开始显示在选择器中。
这种行为是有意的吗?如果是这样,确定用户是否启用了驱动器的最佳方法是什么,以便我们可以提示用户启用驱动器而不是让它看起来像我们没有保存他们的文档?
对于已安装我们的 Chrome 网上应用店应用程序但尚未启用驱动器的用户,我在选择器 api 方面遇到了困难。对于处于这种状态的用户,可以使用 files/insert api 保存新文件,这会返回成功响应,但这些文件不会显示在选择器中。一旦用户启用驱动器,他们之前保存的所有文件都开始显示在选择器中。
这种行为是有意的吗?如果是这样,确定用户是否启用了驱动器的最佳方法是什么,以便我们可以提示用户启用驱动器而不是让它看起来像我们没有保存他们的文档?
首先,奇怪的是选择器没有为您的未启用驱动器的用户显示文件。
所以我只是用非驱动器帐户测试了选择器,一切都按预期工作......例如,您可以尝试使用 Balsamiq Drive 应用程序https://chrome.google.com/webstore/detail/pplbmgaodhjmbklkgkgmlghaekcfhhkk他们正在使用选择器在样机>打开...
安装后你必须去https://balsamiqgdrive.appspot.com
我首先创建了一个模型并保存了它。它出现在文档中。然后我尝试了 Balsamiq 中的选择器,我可以看到它。
目前,选择器和 API 仅在用户已将您的 Drive 应用程序安装到 Chrome 网上应用店时才能工作。
我们理解开发人员所面临的痛苦,我们正在寻求放宽这一限制。
同时,有一种方法可以检查用户是否安装了 Drive 应用程序,为此您需要 OAuth 2.0 访问令牌(因此您的用户需要通过 OAuth 流程并授权您访问他的 Drive 数据) . 然后,您可以简单地尝试读取具有虚假 ID 的文件(比如说 ID“000”或“abcdefghijklmnopqrstuvw”)。如果 API 返回错误"403: The authenticated user has not installed the app with client id {clientId}",这意味着他尚未安装该应用程序,您应该隐藏 Drive 功能并可能向他展示一些“要利用我们最新的 Google Drive 集成/功能,我们建议您安装我们的 Drive App链接到 Chrome Web Store 列表“。此请求出现“404:找不到文件:{fileId}”错误。