ヤマムギ

growing hard days.

*

Google Apps ScriptでAdmin SDK Directory Serviceを使ってグループメンバー情報を出力する

      2015/07/17


GoogleAppsのGoogleGroupをメーリングリストとして使っている人がほとんどだと思うのですが、メンバーの一覧って見る画面がないので、いちいちGroupのメンバーを開くか、他のファイルで管理したりって事で、棚卸しする時に面倒なので、今現在どのメールアドレスがメンバーになっているのかを出力する事はGoogle Apps Scriptで簡単に出来ないかと思って調べてみたら簡単に出来たので記載します。

Admin SDK Directory Serviceを有効にする

今時点では試験運用中のGoogleの拡張サービスなので、
スクリプトエディタで[リソース]-[Googleの拡張サービス]で「Admin Directory API」をONにする。
同じ画面の下にリンクで「Googleデベロッパーコンソール」があるのでそこからGoogleデベロッパーコンソールでも、「Admin SDK」を有効にしておく。

グループメンバーを確認する方法

下のコードをSpreadSheetの[ツール]-[スクリプトエディタ]に書いて、実行したら、とりあえずSpreadSheetに今の設定が書き出せます。
ドメインとかメールアドレスとかは編集して自己責任で参考にしてください。

詳細は公式のAdmin SDK Directory Serviceのページを確認してください。

簡単に説明します。

「page = AdminDirectory.Groups.list~」で指定ドメインのGoogleGroupのリストをpage変数に代入します。

で、「page.groups」をループでまわして、
「var members = AdminDirectory.Members.list(group.email).members」でグループメンバーを代入します。

で、次はメンバーをループでまわしながら、
「user = AdminDirectory.Users.get(member.email)」でユーザ情報を代入します。
※ user.name.fullNameの漢字名が必要だったため。
※ ドメイン外のメールアドレスが含まれる事を考慮したかったのですが、「AdminDirectory.Users.get」でエラーになる事しか分からなかったので、try~catchにしてます。

(ディレクトリのAPIに触れていると、names.nsfの扱いやすさを思い出します。)

Admin_SDK_Directory_Service_-_Google_Apps_Script_—_Google_Developers

@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - Google, GoogleAppsScript, Web ,

ad

ad

  関連記事

Googleカレンダーの予定をPHPからXMLで取得してWebページに表示する(現在廃止されたAPIなので使えません)

ご注意 ※下記の記事で使用していたAPIは2016年現在使用出来なくなっています …

sitemap.xml(sitemap-misc.xml)とrobots.txtを設置する

起きたら結構な雨でしたので、とりあえずサーバのエラーログを眺めていると、goog …

Chrome リモートデスクトップを使ってみる

自宅のMacをリモートで操作したい 外出用PCはWindows 8 とLinux …

WordPressにログインを強制して記事ごとのアクセス制限もする

WordPressを限定された組織内で使いたいとした場合に下記を実現したいと思い …

ブログの記事が掲載されました(レバテック様)

少し前の話になりますが、登壇する側も聞く側も良い刺激を受けられる!勉強会のレポー …

言語スパムのアクセスをAnalyticsで除外した(2017/1/9現在)

Analyticsの言語に見慣れないのが出てたのでフィルタで除外対応。 Vita …

redmine_omniauth_googleプラグインをRedmine3.0.0で動くようにする

redmine_omniauth_googleプラグインをインストールしたところ …

Linux Mint 17 MATE 64bit にAptana Studio 3をインストールして日本語化

JDKのインストール 過去記事「Linux Mint 17 MATE 64bit …

ホームページやサイトがiPhone,iPadのホーム画面に追加された時のアイコンを設定しておく

headタグでapple-touch-iconを指定 [crayon-5b0b0 …

Windows 8 にnode.js + mongodb 環境を作る

node.jsインストール nodejs.orgサイトで「INSTALL」ボタン …