Googleサイトにアクセスする (3/6)
作成:2011-07-25 09:01
更新:2011-11-04 16:51
更新:2011-11-04 16:51
■Siteの共有者とUserについて
Siteオブジェクトでは、この他にも重要な機能があります。それは「共有者」に関するものです。Googleサイトでは、複数のメンバーがそれぞれの権限で編集を行うようになっています。共有者に関する設定は、Googleサイトでは非常にウェイトが高い機能といえるでしょう。
では、Siteオブジェクトの共有者に関する機能を整理しましょう。まずは、それぞれの権限を持つユーザーの取得からです。Googleサイトでは、利用者の権限は「オーナー」「共同編集者」「閲覧者」のいずれかに分類されます。
・オーナーの取得
・共同編集者の取得
・閲覧者の取得
これらは、Userオブジェクト配列として値が得られます。Userオブジェクトというのは、前にちらっと登場しましたが、ログインしているユーザーに関する情報を管理するもので、ログインIDやEmailアドレスなどの情報を取り出すことができます。また、ここでは3つのアクセス権限ごとにメソッドを用意してありますが、サイトを公開している場合、閲覧者は取得できません(というか、誰でも閲覧できるので無意味です)。
続いて、共有者の作成と削除についてです。これも各権限ごとにメソッドが用意されています。メールアドレスを指定するもの、Userオブジェクトで指定するもの、そしてそれぞれを1つずつ追加・削除するもの、配列でまとめて行うものなどが用意されています。
・オーナーの追加
・共同編集者の追加
・閲覧者の追加
・オーナーの削除
・共同編集者の削除
・閲覧者の削除
基本的な使い方がわかれば、メソッドの利用は簡単ですね。では利用例を下にあげておきましょう。createUserは共同編集者を作成するもの、deleteUserは共同編集者を削除するものです。いずれも、Browser.inputBoxを使って利用者のメールアドレスを入力してもらい、それをaddEditor/removeEditorで追加・削除しています。実際にサイトの共有設定を見て、共同編集者が操作されているのを確認しておきましょう。
では、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で追加・削除しています。実際にサイトの共有設定を見て、共同編集者が操作されているのを確認しておきましょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
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プログラミング入門」に戻る