libro
www.tuyano.com
初心者のためのGoogle Apps Scriptプログラミング入門

Googleドキュメントのファイル管理 (5/5)

作成:2011-08-15 10:58
更新:2011-11-04 17:10

■ファイル・フォルダの共有

最後に、共有に関する機能について触れておきましょう。Googleドキュメントのファイルやフォルダは、他の人と共有することができます。この共有は、共有したい人を「オーナー」「共同編集者」「閲覧者」という3つのアクセス権のいずれかに設定することで行います。

Folder/Fileには、これらのアクセス権を追加・削除するためのメソッドが用意されています。以下にざっと整理しましょう。

・オーナーの取得
変数 =《File/Folder》.getOwner();

・共同編集者の取得
変数 =《File/Folder》.getCollaborators();

・閲覧者の取得
変数 =《File/Folder》.getViewers();

オーナーは、Googleドキュメントではそのドキュメントを作成した人になります。従って、常に1人です。これに対し、共同編集者や閲覧者は複数設定できます。従って取得する際には、配列として値が返されます。

これらで得られる値は、「User」オブジェクトおよびその配列です。Userというのは、以前登場しましたね。ユーザーに関する情報を管理するものでした。このUserから、メールアドレスなどの情報を得ることができました。

続いて、それぞれのアクセス権のユーザーを追加・削除するメソッドに進みましょう。オーナーは変更できないため、メソッドはありません。共同編集者と閲覧者を操作するメソッドが用意されています。

・共同編集者の追加
《File/Folder》.addEditor( メールアドレス );
《File/Folder》.addEditor( Userオブジェクト );
《File/Folder》.addEditors( メールアドレス配列 );
《File/Folder》.addEditors( Userオブジェクト配列 );

・閲覧者の追加
《File/Folder》.addViewer( メールアドレス );
《File/Folder》.addViewer( Userオブジェクト );
《File/Folder》.addViewers( メールアドレス配列 );
《File/Folder》.addViewers( Userオブジェクト配列 );

・共同編集者の削除
《File/Folder》.removeEditor( メールアドレス );
《File/Folder》.removeEditor( Userオブジェクト );
《File/Folder》.removeEditors( メールアドレス配列 );
《File/Folder》.removeEditors( Userオブジェクト配列 );

・閲覧者の削除
《Site》.removeViewer( メールアドレス );
《Site》.removeViewer( Userオブジェクト );
《Site》.removeViewers( メールアドレス配列 );
《Site》.removeViewers( Userオブジェクト配列 );

これらを見て、「どこかで見たことがあるな?」と思った人。実は、これらはGoogleサイトの共有機能とまったく同じなのです。Googleのサービスでは、こうした基本的な機能はほぼ共通しているので、一度覚えれば他のサービスでも利用できたりするのですね。

では、簡単な例を下にあげておきます。実行するとアクティブシートにメールアドレスを入力するダイアログが現れます。ここでアドレスを入力すると、「サンプルファイル」という新しいファイルを作成し、その共同編集者に入力したメールアドレスのユーザーを追加します。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function makeShareFile() {
  var mail = Browser.inputBox("共有するメールアドレス:");
  var f = DocsList.createFile("サンプルファイル","これは、" +
      mail + "さんと共有しています。");
  f.addEditor(mail);
}

※関連コンテンツ

「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る