AppMaker和Picker小部件-上传到特定文件夹

时间:2018-07-26 18:08:55

标签: upload directory picker google-app-maker

我正在尝试一个按钮,以允许用户将文件上传到特定文件夹中。我尝试遵循其他建议,并将此钩子添加到

onPickerInit:

var uploadView = new google.picker.DocsUploadView()
uploadView.setParent('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'); // test folder

pickerBuilder.addView(uploadView);

我已经设置了MULTISELECT_ENABLED功能(如果没有设置,则不考虑目标文件夹),实际上,我可以上载它们所属的文件。是的!

但是:现在,选择器小部件具有两个上传标签。第一个选项卡将常规文件上传到驱动器主文件夹,第二个选项卡执行正确的操作。我的猜测是,appmaker在幕后构造了第一个上传选项卡,并且没有禁用此功能的功能。

这显然很古怪,几乎不可用。我的问题是:

1)pickerbuilder中是否有API调用(可能未记录)以删除原始的上传视图?

2)即使MULTISELECT功能关闭,也可以尊重目标文件夹吗?

在此先感谢您提供任何务实的解决方案!

1 个答案:

答案 0 :(得分:1)

直接回答您的问题:

1。)是
2.)是

现在,让我们深入研究一下幕后发生的事情。你是对的:

  

我的猜测是,appmaker在幕后构造了第一个上传选项卡,并且没有禁用它的功能。

但是,我们可以操纵对象。因此,我们无需配置新的选择器视图,而只需配置默认视图即可将文件上传到所需的文件夹。我们可以通过以下操作来实现:

1。)在将驱动器选择器插入到UI中之后,请确保驱动器选择器属性为空:

enter image description here

2。)接下来,转到事件处理程序,然后单击 onPickerInit 事件处理程序。输入以下代码:

var folderId = "10fYS3l32R6gk79POOSS8X_Vbsz7vqzRWX"; //the desired folder id
pickerBuilder.SW.Vq["0"].mc.parent = folderId; 

enter image description here

总而言之,我得出的结论是,属性 SW 包含驱动器视图数组,这些视图保存在属性 Vq 下。 Vq [“ 0”] 是视图数组中的第一个视图,并且 mc 属性包含功能;因此 parent = folderId

我希望这有意义并且对您有帮助!