1

したがって、既存の親内に新しいフォルダーを作成して (パブリックに) 共有したいと思います。

例: \September 2013\[ここに新しいフォルダ]

もちろん、次のことができます。

  1. ルートにフォルダーを作成するには、createFolder を使用します。
  2. addToFolder を使用して、新しく作成されたフォルダーを特定の親にコピーします。
  3. ルートからフォルダーを削除するには、removeFromFolder を使用します。

しかし、そのフォルダを公に共有することはできません!

実際、次を使用してみると: setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);

「TypeError: 関数 setSharing がオブジェクト フォルダに見つかりません。」というメッセージが表示されます。

そうです、上記の DriveApp 関数は DriveApp.createFolder で作成されたフォルダでのみ動作するようです。

もちろん、単純に次のことを行う方法はありません。

  1. DriveApp.createFolder を使用して、ルートにフォルダーを作成します。
  2. setSharing を使用して、新しく作成したフォルダーをパブリックに共有します
  3. 新しいフォルダーを目的のサブフォルダーに移動します

...移動方法がないので!

誰かがそのような問題の解決策を見つけましたか?

4

2 に答える 2

2

DocsList と DriveApp を組み合わせると便利です。

/* CODE FOR DEMONSTRATION PURPOSES */
function main() {
  var parentFolder = DocsList.getFolder('September 2013');
  var idNewFolder = parentFolder.createFolder('New Folder').getId();
  var newFolder = DriveApp.getFolderById(idNewFolder);
  newFolder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);
}
于 2013-08-04T15:41:13.097 に答える