Google apps script 正在检查用户是否具有文件夹的查看权限

Google apps script 正在检查用户是否具有文件夹的查看权限,google-apps-script,google-drive-api,Google Apps Script,Google Drive Api,我需要检查活动用户(非有效用户)是否具有查看文件夹的权限。权限将通过组的用户成员身份进行断言。我希望DriveApp.getAccess(用户)会返回查看或编辑,但它似乎没有返回任何内容。我该怎么办 如果此测试脚本包含我拥有并共享给其他人的文件夹和文件,则从getAccess()返回NONE 函数myFunction(){ var folder=DriveApp.getFolderById('0B90FGJizRd-gytu3zdsafdsaztgtnmrinmq1nafdsfsze5mwyx'

我需要检查活动用户(非有效用户)是否具有查看文件夹的权限。权限将通过组的用户成员身份进行断言。我希望DriveApp.getAccess(用户)会返回查看或编辑,但它似乎没有返回任何内容。我该怎么办

如果此测试脚本包含我拥有并共享给其他人的文件夹和文件,则从getAccess()返回NONE

函数myFunction(){
var folder=DriveApp.getFolderById('0B90FGJizRd-gytu3zdsafdsaztgtnmrinmq1nafdsfsze5mwyx');
Logger.log('owner:'+folder.getOwner().getEmail());
Logger.log('User:'+Session.getActiveUser().getEmail());
Logger.log('Sharing access:'+folder.getSharingAccess());
var access=folder.getAccess('Lijgfjhg@ngs.co.nz');
Logger.log('活动用户访问:'+访问权限)
var editors=folder.getEditors();
Logger.log('editors#'+editors.length)
对于(i=0;igetEditors()
根据文件:

如果执行脚本的用户没有对文件夹的编辑权限,则此方法返回空数组。 例如:

function saveLog(textToSave) {
  var logFolderId = "0B1kNObnC3POnR2d2ntubk";
  var logFolder = DriveApp.getFolderById(logFolderId);
  if (logFolder.getEditors() === []) {
    return ("User " + Session.getActiveUser().getEmail() + " does not have permission to save files to the log folder https://drive.google.com/drive/folders/" + logFolderId );
  } else {
    var fileName = "log.txt";
    var logFile = logFolder.createFile(fileName, textToSave);
    return logFile.getUrl();
  }
}

你应该避免在公共论坛上显示真实的电子邮件地址…脚本是如何运行的?这是作为web应用程序运行的(脚本作为服务,作为开发人员运行)或者其他方式?我从编辑器中运行此测试脚本来演示问题,但操作要求是以脚本所有者身份运行的web应用程序脚本,以告知脚本活动用户是否有权访问文件。该文件将共享给用户组,该用户可能是该组的成员,也可能不是该组的成员。
function saveLog(textToSave) {
  var logFolderId = "0B1kNObnC3POnR2d2ntubk";
  var logFolder = DriveApp.getFolderById(logFolderId);
  if (logFolder.getEditors() === []) {
    return ("User " + Session.getActiveUser().getEmail() + " does not have permission to save files to the log folder https://drive.google.com/drive/folders/" + logFolderId );
  } else {
    var fileName = "log.txt";
    var logFile = logFolder.createFile(fileName, textToSave);
    return logFile.getUrl();
  }
}