😽
Google Group (メーリングリスト) の一覧をスプレッドシートに書き出す方法
概要
Googleグループをエクスポートする機能が存在しないため、GASで書き出すスクリプトを書きました
いや、正確にはリファレンスにほぼ答えが載っていたのでちょっとだけ改造しましたw
参照ドキュメント
-
https://developers.google.com/apps-script/advanced/admin-sdk-directory?hl=ja#list_all_groups
- console.logで書き出すところまでの実装があるので、コピペで確認可能です
- https://developers.google.com/admin-sdk/directory/reference/rest?hl=ja
- https://developers.google.com/admin-sdk/directory/reference/rest/v1/groups/list
実装
ライブラリ追加
GASエディタの「サービス」をクリック
サービスを追加の画面でAdmin SDK APIを選択し、追加
コード
function listAllGroups() {
let page_token = "";
let group_emails = [];
while(true){
let page = AdminDirectory.Groups.list({
domain: 'ご自身のWSのドメインを記載',
maxResults: 100, // 最大は200です。
pageToken: page_token,
});
page.groups.forEach(function(group){
group_emails.push([group["email"]]);
});
if (page.nextPageToken){
page_token = page.nextPageToken
} else {
break;
}
}
// 書き込み
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let range = "A2:A" + (group_emails.length + 1);
sheet.getRange(range).setValues(group_emails);
}
実行
実行時にOAuthの確認画面が出てくるので、許可をおこなってください。
実行が完了すると、スプレッドシートにメーリングリストの一覧が書き出されます。
Discussion