我想获取哪个文件共享权限已设置为具有下载链接的文件。我找不到任何参数。这是我的代码,它只能生成文件下载链接。
function listFolderContents() {
var foldername = 'Foldername';
var folderlisting = 'listing of folder ' + foldername;
var folders = DriveApp.getFoldersByName(foldername)
var folder = folders.next();
var contents = folder.getFiles();
var ss = SpreadsheetApp.create(folderlisting);
var sheet = ss.getActiveSheet();
var file;
var name;
var link;
var row;
while(contents.hasNext()) {
file = contents.next();
name = file.getName() + "/" + file.getUrl() + "/" + file.getName();
link = file.getUrl() + "/" + file.getName();
sheet.appendRow( [name] );
}
};
- 您想要使用Google Apps脚本检索文件的权限信息
如果我的理解是正确的,这个答案怎么样?您可以通过getSharingAccess()
和getSharingPermission()
的方法检索共享权限和共享访问权限。当这些被用于脚本时,下面的修改如何?
修改的脚本:
在这个修改中,while循环被修改。
while(contents.hasNext()) {
file = contents.next();
name = file.getName() + "/" + file.getUrl() + "/" + file.getName();
link = file.getUrl() + "/" + file.getName();
var sharingPermission = file.getSharingPermission(); // Added
var sharingAccess = file.getSharingAccess(); // Added
sheet.appendRow( [name] );
}
注:
- 我无法确认输出值的格式。所以我只为您的脚本添加了两个方法
此外,如果您想检索编辑器和查看器,那么在while循环中添加以下脚本怎么样?
var editors = file.getEditors().map(function(e) {return e.getEmail()}); var viewers = file.getViewers().map(function(e) {return e.getEmail()});
参考文献:
- getSharingPermission((
- getSharingAccess((
- getEditor((
- getViewers((
如果我误解了你的问题,而这不是你想要的结果,我道歉。