如何在从Google Site添加时设置对Google云端硬盘文件/文件夹的权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在从Google Site添加时设置对Google云端硬盘文件/文件夹的权限相关的知识,希望对你有一定的参考价值。

我是Google站点的新手,我已经创建了一个测试Google站点,并将一些来自Google驱动器的页面文件添加到页面中。

我的问题是:通过任何Google Apps脚本或Google Drive SDK从Google Drive添加文件/文件夹时,是否可以从Google Site设置权限?

我还对Google Apps脚本进行了一些概述,以添加UI元素/ html元素,并使用Google Drive SDK执行一些基本身份验证。鉴于此:

  1. 可以执行权限操作。

  2. 如果我们在文件柜模板中上传文件,我们可以设置任何类型的权限或删除该文件的下载链接按钮吗?

答案
Drive的服务。云端硬盘有一个名为:

DriveApp的类。 DriveApp可以创建,保存和检索文件。引用文件后,就可以使用其他类,属性和方法。

setSharing method - Google Documentation
另一答案
按下提交按钮后,脚本将起作用,因为脚本将授予对选定文件的许可权,如果该文件具有查看者,则作为文件查看者发送给该电子邮件。

在Google网站的“应用脚本”部分中创建空白脚本。

通过UI服务添加一些UI

function doGet() { // create ui element var app = UiApp.createApplication(); // create form var form = app.createFormPanel(); // create area or panel var flow = app.createFlowPanel(); // create list box for files var element_file = app.createListBox().setId('file_name').setName('file_name'); // add first elemnt element_file.addItem('Please Select',''); // get drive files var files = DriveApp.getFiles(); while (files.hasNext()) { var file = files.next(); element_file.addItem(file.getName(),file.getId()); } flow.add(element_file); var element_text=app.createTextBox().setId('email').setName('email'); flow.add(element_text); flow.add(app.createSubmitButton("Submit")); form.add(flow); app.add(form); return app; }

此后,我将处理通过邮寄提交的数据

 function doPost(e) {
   var app = UiApp.getActiveApplication();
   var email = e.parameter.email;
   var file_name = e.parameter.file_name;
   var public_file = DriveApp.getFileById(file_name);
   public_file.addViewer(email);
   return app;
}

此后,您可以检查google驱动器中特定文件的权限。您还可以添加成功消息。之后,转到文件的发布菜单,选择“部署为Web应用程序”,然后选择所需的内容。请记住,请选择“仅将执行脚本作为我的选项”,因为您正在列出所有文件。然后转到您要在其中添加脚本的页面,只需从该页面的编辑器中编辑/添加新页面,只需插入Apps脚本即可。

抱歉,这是我第一次使用Google Apps脚本,如果我错过了任何内容或未遵循任何规则,等等。>>

谢谢,

以上是关于如何在从Google Site添加时设置对Google云端硬盘文件/文件夹的权限的主要内容,如果未能解决你的问题,请参考以下文章

如何在从睡眠中醒来时设置 cronjob? [关闭]

Google高级搜索

如何以root用户身份运行Google Chrome? [关闭]

将自定义元数据设置为 Google Cloud Storage 中的对象

如何向 Google Site Search XML API 发出跨域浏览器请求?

谷歌钱包应用内付款:未捕获的 ReferenceError:未定义 goog。 google.payments 与 goog.payments