を見ればわかると思いますので、ここでは一括登録のみに特化します。
なお一括登録前にバックアップ、すなわち現在登録済みのメンバー一覧のエクスポートから説明しておきます。
なお以下は、G Suite 専用であり、G Suite 管理コンソールにログイン可能な特権管理者向けのドキュメントとして残しておこうと思ってまとめたものです。
- 前半:すでにインストールした状態での利用方法
- 後半:macOSへのGAMのインストール方法
グループのメンバー一覧エクスポート
1. GAMを使った場合
グループ名:sample-ml
MLメールアドレス:sample-ml@example.com
と仮定します。
gam info group sample-ml
....
....
member: メールアドレスA (user)
member: メールアドレスB (user)
member: メールアドレスC (user)
member: メールアドレスD (user)
member: メールアドレスE (user)
owner: メールアドレスF (user)
manager: メールアドレスG (user)
のように出てきます。したがって
- gam info group sample-ml > sample-ml-back.dump
とかファイルに出力すれば、グループの設定やメンバー(オーナーやマネージャーもわかる)を取得できます。
さらにメンバーが何名登録されているかが末尾に出力されます。
2. Googleグループの管理画面よりエクスポート
上記のように、Googleグループのメンバー一覧表示のバーに「メンバーをエクスポート」があります。もちろん管理権限を持っている必要があります。
これでエクスポートすると BOM無しUTF-8のCSVファイルで保存されます。
これを Microsoft Excel で開くと文字化けします。文字化けしたくないなら、BOMありのUTF-8に文字コード変換してあげてください。
macOS であれば、CotEditor というテキストエディタで開いて
のように文字コードを BOM付きにして上書き保存したらよいでしょう。
こちらはステータス(配送エラー等)がわかるので、便利です。
Googleグループへのメンバー登録
- gam update group グループ名 add member メールアドレス
もし Word等で一行一メールでメールデータを大量にもらったのなら、それを一旦テキストファイルに保存し直した上で
- cat ファイル名 | awk '{print "gam update group グループ名 add member "$1}'
- cat ファイル名 | awk '{print "gam update group グループ名 add member "$1}' | bash
で一括登録できます。実際には出力結果をリダイレクトしてファイルに保存しておくことをオススメします。
- cat ファイル名 | awk '{print "gam update group グループ名 add member "$1}' | bash > グループ名.log
あたりでしょうか。
登録成功
+ ./gam update group グループ名 add member メールアドレス
Group: グループメールアドレス, メールアドレス Add as MEMBER
すでに登録済みのため追加しない
+ ./gam update group グループ名 add member メールアドレス
Group: グループメールアドレス, メールアドレス Add as MEMBER Failed: Duplicate, already a MEMBER
と出てくるので、
追加を試みたメールアドレス数
grep -v '+' グループ名.log | wc
すでに登録済みだったメールアドレス数
grep -v '+' グループ名.log | grep Duplicate | wc
などをすると、登録状況がわかるかなと思います。
このあたりはコマンドでいろいろできる人なら、いろいろできるでしょう。
注意!
必ず作業する前にバックアップをしておきましょう。
万が一ミスっても、バックアップしておけば戻せますよね(最悪メンバー一覧情報があれば)
- gam info group グループ名 > バックアップファイル名
GAM を macOS にインストール
まず最初に注意ですが、gam はコマンドラインで G Suite を直接管理するためのものです。つまり G Suite の特権管理者がメンバーの一括登録をしたいときなどにつかうだろうと思いますので失敗したら Googleグループをあっさり削除してしまったり、ユーザーを削除してしまう事がありうるということです。そのことを正しく認識した上で使ってください。つまりコマンド操作に不慣れな人は使わないほうがよいということです。
また、つかうとき以外は機能OFFにすると安心かもしれません。
- G Suite管理コンソール > セキュリティ > API アクセス が ON
になっていることが条件になり、ここを普段 OFF にしているとアクセスを遮断できます。
なおここがOFFになっていると
- ERROR: 403: Domain cannot use apis. - domainCannotUseApis
のようにエラーがでます。
1. gam を macOS にインストール
bash <(curl -s -S -L https://git.io/install-gam)
Can you run a full browser on this machine? (usually Y for MacOS, N for Linux if you SSH into this machine) N
*これ Yにすると、ブラウザベースで認証をしようとしますが、 localhost:8080 にアクセスできず(いろいろしましたが)、結局 ssh のほうにしました。
Please enter your G Suite admin email address: 特権管理者のメールアドレス
Go to the following link in your browser:
URL
Enter verification code: URLにアクセスし出てきた codeを貼り付ける
が出てくるので、URLにブラウザからアクセスして、特権管理者のメールアドレスでログインします。そうすれば、verification codeが出てくるので、これをコピーして貼り付けます。
次に
https://console.developers.google.com/apis/credentials?project=gam-project-****
1. Click the blue "Create credentials" button. Choose "OAuth client ID".
2. Click the blue "Configure consent screen" button. Enter "GAM" for "Application name".
3. Leave other fields blank. Click "Save" button.
3. Choose "Other". Enter a desired value for "Name". Click the blue "Create" button.
4. Copy your "client ID" value.
というのが出てくるので、支持に従って Google Developer Console にて GAM用のプロジェクトを作成して、クライアントIDとクライアントSecretキーを取得してください。このあたりの詳細は説明しません。これができないレベルだと、使うのは危ないためです。
あといくつかの質問がありますが、割愛します。
どのAPIに許可を与えるのか等、個別に考える内容のためです。とりあえず今回は Googleグループに対する権限があればよいです。
でうまく行けば、
GAM installation and setup complete!
Please restart your terminal shell or to get started right away run:
gam() { "/Users/ユーザー/bin/gam/gam" "$@" ; }
に入ります。
$HOME/bin/gam あたりに PATHを通しておくか、直接 gam を実行すればよいでしょう。
GAM が使えるかの確認
$HOME/bin/gam/gam info domain
として、G Suite のドメイン情報が出てきたらアクセスできていることになります。
なお以下、説明時に $HOME/bin/gam/gam は gam に置き換えます。
またコマンド詳細は
- $HOME/bin/gam/GamCommands.txt
にすごく見づらいですが載っていますのでここを見ればよいです。
2019年4月23日 @kimipooh
0 件のコメント:
コメントを投稿