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すると実行できるようになる。
ReferenceError: “AdminDirectory” is not defined が出たら
以下のエラーが出るときは、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
コメント