SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

G Suite のAPIを使ってグループの参加者を登録する

問題

G SuiteのGoogleグループで、APIを利用して、グループの参加者を一括登録したいです。

答え

google/apiclient を使いたかったが、権限の問題なのかうまくいかなかったので、Google App Script で対応する例。

1.Google App Script

スクリプト例

function sample() {
  //登録するメンバー(追加先グループと追加するメールアドレスの配列)
  var members = [
    ['test001@example.com', 'aaa@example.jp'],
    ['test001@example.com', 'bbb@example.net'],
    ['test001@example.com', 'ccc@example.co.jp'],
    ['test002@example.com', 'ddd@example.com'],
    ['test002@example.com', 'eee@example.jp'],
    ['test002@example.com', 'fff@example.biz'],
    ['test003@example.com', 'ggg@example.info'],
    ['test003@example.com', 'hhh@example.ne.jp'],
    ['test003@example.com', 'iii@example.com']
  ];
  
  for(var i = 0; i < members.length; i++){
    try {
      //グループにユーザーを追加
      var res = AdminDirectory.Members.insert({email: members[i][1]}, members[i][0]);
      Logger.log(res);
    } catch(error) {
      // グループがない、重複したなどの場合、エラーになる
      Logger.log('name:' + error.name);
      Logger.log('message:' + error.message);
    }
  }  
}

emailのほか、名前や、受信頻度(delivery_settings)、役割(role)なども指定可能。

https://developers.google.com/admin-sdk/directory/v1/reference/members/insert

初めて実行するときに認可のダイアログが出るのでOKすると実行できるようになる。

エラーが出たら

以下のエラーが出るときは、Admin Directory API が無効になっているかもしれない。

ReferenceError: “AdminDirectory” is not defined

Google Apps Script の編集画面のメニュの、リソース > Googleの拡張サービス を開いて、Advanced Google Service の中の、Admin Directory API を ON にして有効化する。

G Suite への移行作業が大変なときはご相談ください

  • 既存のメーリングリストをGoogleグループに移したい
  • 既存のメーリングリストの過去ログをGoogleグループに入れたい
  • 多数のGoogleグループの設定を管理したい
  • 既存のメールアドレスで G Suite(Gmail)に移行したい

内容に応じてお見積りします。

➡ お問い合わせはこちらまで rs@softel.jp

関連するメモ

コメント