代码之家  ›  专栏  ›  技术社区  ›  Darpan Sanghavi

在驱动器选择器小部件中仅显示团队驱动器

  •  1
  • Darpan Sanghavi  · 技术社区  · 6 年前

    我尝试在中添加方法 onPickerInit 事件

    onPickerInit公司 事件

    function fetchFolder(widget, pickerBuilder) {
      pickerBuilder.addView(new google.picker.DocsView()
                           .setParent('TeamDriveId')
                           .setIncludeFolders(true));
    }
    

    我如何提供动态选项,以便用户可以从他们的任何团队驱动中进行选择,而不限于一个团队驱动。此外,他们不应该能够从自己的谷歌硬盘中进行选择。

    1 回复  |  直到 6 年前
        1
  •  4
  •   Pavel Shkleinik    6 年前

    这种情况似乎需要低水平的驱动器选择器调整,因此让我们从删除App Maker提供给我们的所有现成设置开始:

    1. 删除所有功能
    2. 删除所有视图

    Drive Picker settings

    1. onPickerInit
    // Enable Team Drives
    pickerBuilder.enableFeature(google.picker.Feature.SUPPORT_TEAM_DRIVES);
    
    // Let users to select files from any Team Drive
    var multiTeamDrive = new google.picker.DocsView();
    multiTeamDrive.setIncludeFolders(true)
                  .setEnableTeamDrives(true);
    pickerBuilder.addView(multiTeamDrive);
    
    
    // This feature need to be set to force `setParent` work.
    // Seems to be Drive Picker's bug
    pickerBuilder.enableFeature(google.picker.Feature.MULTISELECT_ENABLED);
    
    // Force users to upload files to a specific Team Drive
    var uploadView = new google.picker.DocsUploadView();
    uploadView.setParent('Fancy KEY from Team Drive folder URL')
              .setLabel('Upload to Team Drive XXX');
    pickerBuilder.addView(uploadView);
    

    Multi Team Drive

    笔记

    • 我没有找到隐藏个人硬盘上传标签的方法。奇怪的是,App Maker在默认情况下添加了它,并且没有删除它的选项。
    • 我还建议为用户选择的文件添加服务器端验证,以确保它们来自Team Drive。

    类似/相关答案: https://stackoverflow.com/a/49677679/454137