Google drive api 在Google Drive Picker中使用搜索栏不会显示任何结果,并在网络响应中抛出内部错误

Google drive api 在Google Drive Picker中使用搜索栏不会显示任何结果,并在网络响应中抛出内部错误,google-drive-api,google-picker,Google Drive Api,Google Picker,我在一个应用程序中实现了GooglePickerAPI,包括GoogleDrive视图。当前,在Google Drive视图的搜索栏中输入搜索查询将开始显示包含一些文件结果的下拉列表,如下所示: 但是,单击“放大镜”搜索按钮,或按enter键,或单击“搜索包含…”的所有项目,所有结果都将显示为空选择器,如下所示: 我相信这是因为调用https://docs.google.com/picker/pvr每次都将此错误作为响应返回:&&&START&&&&&&{“error”:true,“erro

我在一个应用程序中实现了GooglePickerAPI,包括GoogleDrive视图。当前,在Google Drive视图的搜索栏中输入搜索查询将开始显示包含一些文件结果的下拉列表,如下所示:

但是,单击“放大镜”搜索按钮,或按enter键,或单击“搜索包含…”的所有项目,所有结果都将显示为空选择器,如下所示:

我相信这是因为调用
https://docs.google.com/picker/pvr
每次都将此错误作为响应返回:
&&&START&&&&&&{“error”:true,“errorMessage”:“Internal error”}

发送到该/pvr端点的参数如下:

start: 0
numResults: 50
sort: 3
desc: true
q: testing
cursor: 
mine: 2
service: docs
type: NOT_COLLECTION
options: {"ff":true,"filterTeamDriveResults":true}
token: J********
version: 4
app: 2
clientUser: 1************
developerKey: A*************
subapp: 5

我发现,手动从“选项”散列中删除
“filterTeamDriveResults”:true
键并执行ajax post直接导致请求成功,但无论出于何种原因,该选项都包含在选择器的每个请求中,并且在任何时候请求时都包含该选项,它似乎以相同的“内部错误”响应失败。我想知道这个选项的来源是什么,是否有任何方法可以从我们的选择器中删除它。据我所知,它似乎不受我们加载的JavaScript API中的任何选项控制。

在使用Google Picker API多年没有任何问题后,上周我们也开始遇到这种情况。您关于
filterTeamDriveResults
键的提示让我想起了刚才读到的一些内容,关于:

接下来,我们将引入一个新的驱动器API资源集合,称为“驱动器”,以取代“团队驱动器”资源集合。此新资源集合可帮助您创建、删除、获取、列出和更新共享驱动器,并具有与“团队驱动器”资源集合相同的所有字段、资源和可用方法。如果您已经在您的应用程序中使用“团队驱动”资源集合,请考虑尽快迁移,因为驱动API、驱动器活动API和谷歌PACKER API的所有相关字段将在2020年6月1日开始不再支持。 这似乎没有关系,至少没有直接关系,但让我想到,也许,我在这里的文档中看到的,可以“禁用”其他teamDrive功能(尽管事实并非如此,但仍然…)。事实上,这就解决了这个问题。基本上只是:

new google.picker.PickerBuilder().
  setAppId(appId).
  addView(new google.picker.DocsView().setIncludeFolders(true)).
  enableFeature(google.picker.Feature.SUPPORT_DRIVES)
...
要注意的一点是,启用此功能时会出现以下警告:

启用此功能之前,请确保参考并进行任何必要的驱动器Rest API更改


可能与你的情况有关

太棒了,这确实起到了启用搜索栏的作用。不幸的是,这也意味着我们还有一些工作要做,以便为共享驱动器的更改做好准备。谢谢你的帮助。我试过这个,但这个对我不起作用。filterTeamDriveResults仍在处理每个请求。