【GAS】メールアドレス一覧の取得

どうも、開発部のSです。
今回はGoogle App Scriptについて紹介したいと思います。
以前、社員情報を管理するためにGoogle スプレッドシートと
Google App Scriptを使用しました。
その際に社員全員のメールアドレスを取得するスクリプトを
作成したので紹介します。
 
【スクリプト作成方法】
1. googleスプレッドシートのツールタブにあるスクリプトエディタをクリックします。
 
2. 下記の[①スクリプト]を記載します。
 
3. 実行タブから[①スクリプト]のメソッド名(GetMailingList)を選択してください。
※ スプレッドシートに図形を作成してスクリプトを割り当てると、
   作成した図形をクリックするだけでスクリプトが実行されます。
   また、初回実行時は承認を求められるので許可してください。
 
[①スクリプト]
function GetMailingList() {
  // 貼り付けたい位置を指定
  var StartColumn = A;
  var StartRow = 1;
  // 取得したいグループアドレスを指定
  var Address = “all@example.com“;
 
  // メールアドレス一覧を取得
  var group = GroupsManager.getGroup(Address).getAllMembers();
  var cnt = 0;
  var SheetLastRow = group.length;
  // メールアドレスを記載
  for (var i = 0; i < SheetLastRow ; i++){
    Sheet.getRange(StartColumn + (i + StartRow) ).setValue(group[cnt]);
    cnt++;
  }
}
 
GroupsManagerを使用するには管理者権限が必要なのでご注意を。
ただ、権限があれば、全メールアドレスを取得する他にも、
ユーザを作成したり、いろいろ出来るみたいですね。
 
※2015年05月04日追記
  いつの間にかGoogleの仕様が変わってGroupsManagerが使えなくなっていました。
  代わりにGroupAppを利用すれば同じような機能が使えるみたいです。
  
  上記スクリプトを下記の通りに入れ替えれば、以前と同じ動作を行います。
  
  -修正前-
    アドレス一覧取得
    var group = GroupsManager.getGroup(Address).getAllMembers();
 
    アドレス取得
    Sheet.getRange(StartColumn + (i + StartRow) ).setValue(group[cnt]);
  
  -修正後-
    アドレス一覧取得
    var group = GroupApp.getGroupByEmail(Address).getUsers();
 
    アドレス取得
    Sheet.getRange(StartColumn + (i + StartRow) ).setValue(group[cnt].getEmail());