Google Group メンバーリスト参照

Google Group のメンバー(メールアドレス)リストを取得します。定期的にグループメンバー(MLメンバー)を確認することにより、ML管理が行いやすくなります。また、不要なメンバーへのメール送信や、本来のメンバーへの情報共有の漏れなどを防ぐことに繋がります。

2017 © Questetra, Inc. (the MIT License)
https://support.questetra.com/ja/addons/googlegroup-membersretrieve/

Configs
  • A: OAuth2通信許可設定名 (←[OAuth 2.0 設定]) *
  • B: Groupアドレスが格納されている文字列型データを選択してください(存在しない場合、エラー) *
  • C: メールアドレス一覧が格納される文字列型データを選択してください (更新) *
  • X: 通信ログが格納される文字列型データを選択してください (更新)
Script
//// == 工程コンフィグの参照 / Config Retrieving ==
var oauth2  = configs.get( "conf_OAuth2" ) + "";
var dataIdB = configs.get( "conf_DataIdB" ); // (returns key)
var dataIdC = configs.get( "conf_DataIdC" ); // (returns key)
var dataIdX = configs.get( "conf_DataIdX" ); // (returns key)

//// == ワークフローデータの参照 / Data Retrieving ==
var targetGroup = data.get( dataIdB ) + "";

//// == 演算 / Calculating ==
var membersEmail = "";
var accessLog = "";
var token = httpClient.getOAuth2Token( oauth2 );

var uri = "https://www.googleapis.com/admin/directory/v1/groups/" + targetGroup + "/members/";
var response = httpClient.begin()
  .bearer( token )
  .get( uri );
var groupMembersObj = JSON.parse( response.getResponseAsString() );
for( var i = 0; i < groupMembersObj.members.length; i++ ){
  membersEmail += groupMembersObj.members[i].email + "\n";
}
accessLog += "---GET request--- " + response.getStatusCode() + "\n";
accessLog += response.getResponseAsString() + "\n";

//// == ワークフローデータへの代入 / Data Updating ==
retVal.put( dataIdC, membersEmail );
if( dataIdX !== "" ){
  retVal.put( dataIdX, accessLog );
}

Download

  • GoogleGroup-membersRetrieve.xml
    • スクリプトエンジンとして「Rhino(廃止予定)」が指定されているため、アプリにインストールしても設定エラーとなります
    • 利用するには、スクリプトエンジンの変更、およびそれに伴うスクリプト修正が必要です
    • 修正版は準備中です

Capture

Notes

  • 事前に Google Developers Console にて「Admin SDK」を有効にし、「クライアントID」と「クライアントシークレット」を取得します
  • G Suite のドメイン管理画面にて、「クライアントID」とその通信スコープについて許諾します

See also

%d人のブロガーが「いいね」をつけました。