0

私は、ドキュメントの閲覧者を更新する非常に単純なスクリプトに取り組んでいます。私のGoogleAppsドメインでは、デフォルトの共有権限が変更されました。管理者が戻って、既存のすべてのドキュメントの共有設定を変更したいと考えています。POCの作業中にエラーが発生し、使用する必要のある別のGASがあるかどうか疑問に思いました。

問題は、「無効な電子メール」エラーのために、ドキュメントの閲覧者としてドメインユーザーを削除できないことです。

メッセージは次のとおりです。Exception: Invalid email: MyDomain.com

よろしくお願いします。

[次のコードからロギングとエラーキャッチを削除しました。]

function removeDomainUser()
{
  DocsList.getAllFiles().forEach(
    function (file,i ,array)
    {

        //--Always pick the Domain Viewer--//

        var toRemove = -1;
        file.getViewers().forEach(
          function(user,i)
          {
            toRemove = user.getEmail() == "MyDomain.com" ? i : toRemove;
          }
        );

        //--If there is a Domain viewer, remove it--//

        toRemove > -1 ? file.removeViewer(file.getViewers()[toRemove]) : '';
    }
  );
}
4

2 に答える 2

0

私はあなたのコードのエラーを理解していませんが、次のコードで同じ目標を達成することができました

function removeDomainUser(user){
  //User is your domain user
  // e.g user = email@mydomain.com
  var files = DocsList.getAllFiles();
  for(var i in files){
    var viewvers = files[i].getViewers();
    for(var j in viewvers){
      if(viewvers[j] == user) files[i].removeViewer(user);
    }
  }
}
于 2012-07-30T10:11:20.910 に答える
0

残念ながら、これはDocsListサービスを使用しては不可能です。この機能を追加するためのオープン機能リクエストがあります。UrlFetchAppを使用してDocumentsListAPIを呼び出すことで、これを実現できるはずです。

于 2012-07-30T19:19:58.613 に答える