更改其他用户文件的文件共享选项

时间:2018-07-23 14:45:56

标签: google-apps-script google-drive-api

我正在尝试更改域中用户的某些文件的文档可见性。我需要将“在网络上公开”的可见性更改为“知道链接的任何人”。为了防止公司中的数据泄漏。

我当前正在使用AdminReports记录驱动器活动。我可以获取文档的fileId,因此可以使用它来更改其可见性。我已经使用Google Apps域范围内的委托创建了一个服务帐户。但是我遇到了访问被拒绝的错误。

这是我的Google Apps脚本:

function fixAccessVisibility() {
  var userKey = 'all';
  var applicationName = 'drive';
  var optionalArgs = {
    maxResults: 1000
  };
  var response = AdminReports.Activities.list(userKey, applicationName, optionalArgs);
  var activities = response.items;
  if (activities && activities.length > 0) {
    Logger.log('Drive Activities:');
    for (i = 0; i < activities.length; i++) {
      var activity = activities[i];
      if(activity.events[0].name === 'change_document_visibility'){       
        var content = DriveApp.getFileById(activity.events[0].parameters[6].value);
        Logger.log(resultcode);
        content.setSharing(DriveApp.Access.ANYONE_WITH_LINK, DriveApp.Permission.VIEW);    
        Logger.log("---------------------------------Succeed-------------------------------------------------");
      }
     // Logger.log('\n TIME : %s: \n DOCUMENT_ID :  %s \n USER : (%s) \n EVENT :  (%s) \n', activity.id.time,activity.events[0].parameters[6].value,activity.actor.email,activity.events[0].name);
    else {
    Logger.log('No activities found.');
  }
    }

    }
}

我是Google Apps脚本的新手。因此,我需要您引导我。谢谢。

0 个答案:

没有答案