Google apps script GDrive禁用复制和下载
我如何在没有高级驱动器服务的情况下管理共享功能:“禁用复制和下载” 目前我解决的问题是:Google apps script GDrive禁用复制和下载,google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,我如何在没有高级驱动器服务的情况下管理共享功能:“禁用复制和下载” 目前我解决的问题是: 函数mysolveaboutavancedservice(id){ var file=Drive.Files.get(id); file.labels.restricted=true; Drive.Files.update(文件,id); } 您希望在不使用高级Google服务的情况下实现以下脚本 var file = Drive.Files.get(id); file.labels.restricted
函数mysolveaboutavancedservice(id){
var file=Drive.Files.get(id);
file.labels.restricted=true;
Drive.Files.update(文件,id);
}
- 您希望在不使用高级Google服务的情况下实现以下脚本
var file = Drive.Files.get(id); file.labels.restricted = true; Drive.Files.update(file, id);
- 您想知道不使用上述脚本无法实现“禁用复制和下载”的原因
labels.restricted
用于驱动API v2,并且,官方文档如下所示
标签。受限的
:警告:此项目已弃用。不推荐使用-请改用copyRequiresWriterPermission
这样,当驱动器APIv3使用{labels:{restricted:true}}
时,如果没有错误发生,就不能使用它。但是,当驱动器API v2与UrlFetchApp一起使用时,{labels:{restricted:true}}
仍然可以使用。这样,使用高级Google服务的驱动API的脚本就可以工作了
为了在不使用高级Google服务的情况下实现您的脚本,请使用UrlFetchApp直接请求驱动器API v3的端点(在本例中使用v3),请求主体为{copyRequiresWriterPermission:true}
。示例脚本如下所示
示例脚本:
注:
- 如果要将驱动器API v2与UrlFetchApp一起使用,那么下面的脚本如何?在驱动器APIv2上,可以使用
和{labels:{restricted:true}}
{copyRequiresWriterPermission:true}
function mySolveAboutAdvancedService() { var id = "###"; // Please set the file ID. var url = "https://www.googleapis.com/drive/v2/files/" + id; var params = { method: "put", contentType: "application/json", payload: JSON.stringify({copyRequiresWriterPermission: true}), // or payload: JSON.stringify({labels: {restricted: true}}) headers: {Authorization: "Bearer " + ScriptApp.getOAuthToken()} }; var res = UrlFetchApp.fetch(url, params); Logger.log(res.getContentText()) }
如果我误解了你的问题,而这不是你想要的方向,我道歉。我的回答是否向你展示了你想要的结果?你能告诉我这件事吗?这对我的学习也很有用。如果这样做有效,其他与你有相同问题的人也可以将你的问题作为可以解决的问题。如果你对我的回答还有疑问,我道歉。那时候,我可以问一下你目前的情况吗?我想学习来解决你的问题。
function mySolveAboutAdvancedService() {
var id = "###"; // Please set the file ID.
var url = "https://www.googleapis.com/drive/v2/files/" + id;
var params = {
method: "put",
contentType: "application/json",
payload: JSON.stringify({copyRequiresWriterPermission: true}), // or payload: JSON.stringify({labels: {restricted: true}})
headers: {Authorization: "Bearer " + ScriptApp.getOAuthToken()}
};
var res = UrlFetchApp.fetch(url, params);
Logger.log(res.getContentText())
}