Google drive api Google驱动器选择器:仅将Feature.MINE_与Feature.SUPPORT_驱动器一起使用
我正在尝试创建一个显示以下视图的Google驱动器选择器:Google drive api Google驱动器选择器:仅将Feature.MINE_与Feature.SUPPORT_驱动器一起使用,google-drive-api,google-picker,google-drive-shared-drive,google-drive-picker,Google Drive Api,Google Picker,Google Drive Shared Drive,Google Drive Picker,我正在尝试创建一个显示以下视图的Google驱动器选择器: “文件夹”视图,显示当前用户的文件夹树,允许他仅选择当前用户拥有的文件 “最近”视图,显示当前用户拥有的最新打开的文件 “共享驱动器”视图(注:以前称为“团队驱动器”),显示当前用户有权访问的共享驱动器(他不是文件的所有者,因为共享驱动器文件由用户的G套件平台所有) 第一次尝试:功能。仅使用功能挖掘。支持驱动器 我尝试的第一件事是在PickerBuilder上启用两个功能MINE\u ONLY和SUPPORT\u DRIVES,但是这会
功能。仅使用功能挖掘。支持驱动器
我尝试的第一件事是在PickerBuilder
上启用两个功能MINE\u ONLY
和SUPPORT\u DRIVES
,但是这会导致“shared DRIVES”视图为空,因为用户不是共享驱动器中文件的所有者(请参见上面的解释)
第二次尝试:功能。支持\u-DRIVE
+setOwnedByMe(true)
我尝试的第二件事是只启用SUPPORT\u DRIVES
功能,并在“文件夹”和“最近”视图上使用setOwnedByMe(true)
方法
它几乎可以按预期工作,但“文件夹”视图没有显示文件夹,因为setOwnedByMe
函数不能与setIncludeFolders
视图()一起调用
以下是我第二次尝试的代码的简化版本(我故意没有输入身份验证代码):
var googlePicker=new google.picker.PickerBuilder();
//KO:不显示文件夹
var folderView=new google.picker.DocsView()。
//设置IncludeFolders(真)。//->不能与setOwnedByMe一起使用,否则会覆盖它
setOwnedByMe(真)。
setParent('root');
//嗯
var recentFilesView=new google.picker.DocsView(google.picker.ViewId.DOCS)。
setOwnedByMe(真);
//嗯
var sharedDriveview=new google.picker.DocsView()。
设置IncludeFolders(真)。
setSelectFolderEnabled(错误)。
SetEnableDrive(真);
googlePicker.enablefeact(google.picker.Feature.SUPPORT_驱动器);//以前命名的支持团队驱动器
//googlePicker.enableFeature(仅限google.picker.Feature.MINE_);//使用SetEnableDrive时工作不正常
谷歌扒手。
添加视图(folderView)。
addView(recentFilesView)。
addView(sharedDriveview);
googlePicker.build().setVisible(true);
回答:
不幸的是,这似乎是不可能做到的
推理:
正如你在问题中指出的,这里的问题归结为三件事:
DocsView.setEnableDrives()
需要设置为true
,并且功能。需要启用“支持驱动器”
。这可以单独与DocsView.setOwnedByMe()
和DocsView.setincludefolders()
结合使用DocsView.setOwnedByMe()
需要设置为true
,或功能。只需打开“我的”
Docsview.setOwnedByMe()
可与Docsview.setEnableDrive()
一起使用,但不能与Docsview.setIncludeFolders()一起使用
DriveView.setIncludeFolders()
需要设置为true
,但不能与DriveView.setOwnedByMe()
同时设置为DriveView.setIncludeFolders()
的值。当设置DriveView.setIncludeFolders()
时,将忽略setOwnedByMe()