【问题标题】:Display only Team Drives in Drive Picker Widget在驱动器选择器小部件中仅显示团队驱动器
【发布时间】:2018-11-01 23:59:44
【问题描述】:

我正在创建一个应用程序,我需要在其中提供 Drive Picker 小部件,以便用户可以上传一些文件。现在我想限制用户,使他们只能从他们的“团队驱动器”中选择文件,而不能从其他任何地方选择文件。

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

这是我在 onPickerInit 事件中调用的函数,

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

这种方法限制用户只能从特定的团队云端硬盘中进行选择,但是我的问题是我如何提供动态选项,以便用户可以从他们的任何团队云端硬盘中进行选择,而不仅限于一个团队云端硬盘。此外,他们应该无法从自己的 Google 云端硬盘中进行选择。

【问题讨论】:

    标签: google-app-maker google-picker google-drive-shared-drive


    【解决方案1】:

    似乎这种情况需要低级别的 Drive Picker 调整,所以让我们从删除 App Maker 开箱即用的所有设置开始:

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

    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);
    

    结果

    备注

    • 我没有找到隐藏个人驱动器上传选项卡的方法。奇怪的是,应用制作工具默认添加了它,并且没有删除它的选项。
    • 我还建议为用户选择的文件添加服务器端验证,以确保它们来自 Team Drive。

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

    【讨论】:

    • 感谢您的详细回答,但正如您正确指出的那样,Appmaker 默认添加了 Person's My Drive,这给我带来了问题。我已经能够在不删除这些功能的情况下实现这一目标,只需在“功能”中提供“SUPPORT_TEAM_DRIVES”并从“视图”中删除所有内容,瞧,我可以看到我的驱动器和所有团队驱动器。但我想删除“我的驱动器”,因为我无法进行服务器端验证,我的要求有些不同。
    • FWIW,现在看来这是一个选项。
    猜你喜欢
    • 2019-12-31
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2018-03-21
    相关资源
    最近更新 更多