DomainサービスとUserManager (2/4)
作成:2012-04-02 08:16
更新:2012-04-02 08:16
更新:2012-04-02 08:16
■DomainUserからユーザー情報を得る
DomainUserでは、そのユーザーに関するさまざまな情報が管理されています。これらはその値を取得したり変更するためのメソッドが用意されており、それらを呼び出して情報の管理を行うようになっています。では、主なものをここで整理しておきましょう。
●値の取得
・メールアドレス
・名前
・ログインID
・管理者チェック
●値の変更
・名前
・管理者権限
基本的にメールアドレスや名前といったものだけで、例えばパスワードの取得や変更などは行えません。まぁ、これはセキュリティ上の問題であえて用意されていないのでしょう。簡単な利用例を下にあげておきました。Googleスプレッドシートなどから実行してみてください。利用者の名前を入力すると、登録された氏名とメールアドレスが表示されます。
なお、最初にスクリプトを実行する際に、アクセス権の確認画面が現れ、このアプリにアクセスを許可するかを尋ねてきます。ここで許可をしないとスクリプトは実行されないので注意してください。
●値の取得
・メールアドレス
変数 = 《DomainUser》.getEmail();これは、値の取得のみ可能です。そのユーザーのメールアドレスが返されます。
・名前
変数 =《DomainUser》.getFamilyName();ユーザーの名前には2種類のものがあります。ユーザー登録の際に「姓」「名」をそれぞれ入力したのを思い出しましょう。getFamilyNameで得られるのは「姓」、getGivenNameでは「名」が得られます。
変数 =《DomainUser》.getGivenName();
・ログインID
変数 =《DomainUser》.getUserLoginId();これも値の取得のみ可能です。そのユーザーのログインIDをテキストで返します。これは、要するにアカウント名(メールアドレスの@より前の部分)と考えてください。
・管理者チェック
変数 =《DomainUser》.getIsAdmin();そのユーザーが管理者権限を持っているかどうかをチェックします。返り値は真偽値で、管理者であればtrue、そうでなければfalseが返されます。
●値の変更
・名前
《DomainUser》.setFamilyName( テキスト );ユーザーに登録されている名前を変更します。いずれも新たに設定する名前をテキストで引数に指定します。setFamilyNameでは「姓」、setGivenNameでは「名」の値がそれぞれ変更されます。
《DomainUser》.setGivenName( テキスト );
・管理者権限
《DomainUser》.setIsAdmin( 真偽値 );そのユーザーに管理者権限を与えるかどうかを設定するものです。引数は真偽値で、trueに指定すると管理者権限を与えます。
基本的にメールアドレスや名前といったものだけで、例えばパスワードの取得や変更などは行えません。まぁ、これはセキュリティ上の問題であえて用意されていないのでしょう。簡単な利用例を下にあげておきました。Googleスプレッドシートなどから実行してみてください。利用者の名前を入力すると、登録された氏名とメールアドレスが表示されます。
なお、最初にスクリプトを実行する際に、アクセス権の確認画面が現れ、このアプリにアクセスを許可するかを尋ねてきます。ここで許可をしないとスクリプトは実行されないので注意してください。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
function myFunction() { var str = Browser.inputBox("利用者名を入力:"); var usr = UserManager.getUser(str); var result = usr.getFamilyName() + "-" + usr.getGivenName(); result += "\n" + usr.getEmail(); Browser.msgBox(result); }
※関連コンテンツ
「Google Apps Scriptプログラミング [中級編]」に戻る