Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app maker 在驱动器选择器小部件中仅显示团队驱动器_Google App Maker_Google Picker_Google Drive Shared Drive - Fatal编程技术网

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

Google app maker 在驱动器选择器小部件中仅显示团队驱动器,google-app-maker,google-picker,google-drive-shared-drive,Google App Maker,Google Picker,Google Drive Shared Drive,我正在创建一个应用程序,我需要提供驱动器选择器小部件,以便用户可以上传一些文件。现在我想限制用户,以便他们只能从“团队驱动器”中选择文件,而不能从其他任何地方选择文件 我尝试在onPickerInit事件中添加方法 这是我在onPickerInit事件中被调用的函数 函数获取文件夹(小部件,pickerBuilder){ pickerBuilder.addView(新的google.picker.DocsView() .setParent('TeamDriveId')) .setIncludeF

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

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

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

函数获取文件夹(小部件,pickerBuilder){
pickerBuilder.addView(新的google.picker.DocsView()
.setParent('TeamDriveId'))
.setIncludeFolders(true));
}

此方法限制用户仅从特定团队驱动中进行选择,但我的问题是如何提供动态选项,以便用户可以从他们的任何团队驱动中进行选择,而不限于一个团队驱动。此外,他们也不能从自己的谷歌硬盘中进行选择。

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

  • 删除所有功能
  • 删除所有视图
  • 然后将以下脚本添加到
    onPickerInit
    事件中
  • //启用团队驱动器
    pickerBuilder.enablefeact(google.picker.Feature.SUPPORT\u TEAM\u驱动器);
    //允许用户从任何团队驱动器中选择文件
    var multiTeamDrive=new google.picker.DocsView();
    multiTeamDrive.setIncludeFolders(真)
    .SetEnableTeamDrive(真);
    pickerBuilder.addView(多线程驱动);
    //需要将此功能设置为强制“setParent”工作。
    //似乎是驾驶拾荒者的错误
    pickerBuilder.enablefeact(google.picker.Feature.MULTISELECT\u ENABLED);
    //强制用户将文件上载到特定的团队驱动器
    var uploadView=new google.picker.DocsUploadView();
    uploadView.setParent('团队驱动器文件夹URL中的花式密钥')
    .setLabel(“上传至团队驱动XXX”);
    pickerBuilder.addView(上传视图);
    
    结果

    注释

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

    类似的/相关的回答:

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

  • 删除所有功能
  • 删除所有视图
  • 然后将以下脚本添加到
    onPickerInit
    事件中
  • //启用团队驱动器
    pickerBuilder.enablefeact(google.picker.Feature.SUPPORT\u TEAM\u驱动器);
    //允许用户从任何团队驱动器中选择文件
    var multiTeamDrive=new google.picker.DocsView();
    multiTeamDrive.setIncludeFolders(真)
    .SetEnableTeamDrive(真);
    pickerBuilder.addView(多线程驱动);
    //需要将此功能设置为强制“setParent”工作。
    //似乎是驾驶拾荒者的错误
    pickerBuilder.enablefeact(google.picker.Feature.MULTISELECT\u ENABLED);
    //强制用户将文件上载到特定的团队驱动器
    var uploadView=new google.picker.DocsUploadView();
    uploadView.setParent('团队驱动器文件夹URL中的花式密钥')
    .setLabel(“上传至团队驱动XXX”);
    pickerBuilder.addView(上传视图);
    
    结果

    注释

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

    类似/相关答案:

    感谢您提供的详细答案,但正如您正确指出的,Appmaker默认添加了Person的My Drive,这给我带来了问题。我已经能够在不删除这些功能的情况下实现这一点,只需在“功能”中提供“支持团队驱动器”,并删除“视图”中的所有内容,瞧,我可以看到我的驱动器和所有团队驱动器。但我想删除“我的驱动器”,因为我无法进行服务器端验证,我的要求有些不同。FWIW,现在看来这是一个选项。感谢您的详细回答,但正如您正确指出的那样,Appmaker在默认情况下添加了Person的我的驱动器,这给我带来了问题。我已经能够在不删除这些功能的情况下实现这一点,只需在“功能”中提供“支持团队驱动器”,并删除“视图”中的所有内容,瞧,我可以看到我的驱动器和所有团队驱动器。但我想删除“我的驱动器”,因为我不能进行服务器端验证,我的要求有些不同。FWIW,看起来现在这是一个选项。