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

Googleサイトにアクセスする (3/6)

作成:2011-07-25 09:01
更新:2011-11-04 16:51

■Siteの共有者とUserについて

Siteオブジェクトでは、この他にも重要な機能があります。それは「共有者」に関するものです。Googleサイトでは、複数のメンバーがそれぞれの権限で編集を行うようになっています。共有者に関する設定は、Googleサイトでは非常にウェイトが高い機能といえるでしょう。

では、Siteオブジェクトの共有者に関する機能を整理しましょう。まずは、それぞれの権限を持つユーザーの取得からです。Googleサイトでは、利用者の権限は「オーナー」「共同編集者」「閲覧者」のいずれかに分類されます。

・オーナーの取得
変数 =《Site》.getOwners();

・共同編集者の取得
変数 =《Site》.getEditors();

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

これらは、Userオブジェクト配列として値が得られます。Userオブジェクトというのは、前にちらっと登場しましたが、ログインしているユーザーに関する情報を管理するもので、ログインIDやEmailアドレスなどの情報を取り出すことができます。また、ここでは3つのアクセス権限ごとにメソッドを用意してありますが、サイトを公開している場合、閲覧者は取得できません(というか、誰でも閲覧できるので無意味です)。

続いて、共有者の作成と削除についてです。これも各権限ごとにメソッドが用意されています。メールアドレスを指定するもの、Userオブジェクトで指定するもの、そしてそれぞれを1つずつ追加・削除するもの、配列でまとめて行うものなどが用意されています。

・オーナーの追加
《Site》.addOwner( メールアドレス );
《Site》.addOwner( Userオブジェクト );

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

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

・オーナーの削除
《Site》.removeOwner( メールアドレス );
《Site》.removeOwner( Userオブジェクト );

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

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

基本的な使い方がわかれば、メソッドの利用は簡単ですね。では利用例を下にあげておきましょう。createUserは共同編集者を作成するもの、deleteUserは共同編集者を削除するものです。いずれも、Browser.inputBoxを使って利用者のメールアドレスを入力してもらい、それをaddEditor/removeEditorで追加・削除しています。実際にサイトの共有設定を見て、共同編集者が操作されているのを確認しておきましょう。

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

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

●プログラム・リスト●

function createUser(){
	var usr = Browser.inputBox("メールアドレス:");
	var site = SitesApp.getSite("tuyano.com","mysamplesite");
	site.addEditor(usr);
}

function deleteUser(){
	var usr = Browser.inputBox("メールアドレス:");
	var site = SitesApp.getSite("tuyano.com","mysamplesite");
	site.removeEditor(usr);
}

※関連コンテンツ

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