Created
December 27, 2019 07:44
-
-
Save W-Yoshida/f5cea3314bc3f90832dce1c35f8d37eb to your computer and use it in GitHub Desktop.
Googleグループの設定を出力するGAS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var ss = SpreadsheetApp.getActiveSpreadsheet(); | |
var sheet = ss.getSheets()[0]; | |
//実行メニューを作成 | |
function onOpen() { | |
var ui = SpreadsheetApp.getUi(); | |
var menu = ui.createMenu("GAS実行"); | |
menu.addItem("Googleグループ一括出力", "exportGoogleGroup"); | |
menu.addToUi(); | |
} | |
function exportGoogleGroup() { | |
//対象ドメイン | |
var domainName = ''; | |
//取得するグループの最大数(デフォルトは200) | |
var maxResults = 500; | |
//シートをクリア | |
sheet.clear(); | |
var values = []; | |
//ヘッダー追加 | |
values.push([ | |
"メールアドレス", | |
"グループ名", | |
"説明", | |
"メンバー数", | |
"WhoCanJoin", | |
"whoCanViewMembership", | |
"whoCanViewGroup", | |
"whoCanInvite", | |
"whoCanAdd", | |
"allowExternalMembers", | |
"whoCanPostMessage", | |
"allowWebPosting", | |
"maxMessageBytes", | |
"isArchived", | |
"archiveOnly", | |
"messageModerationLevel", | |
"spamModerationLevel", | |
"showInGroupDirectory", | |
"whoCanLeaveGroup", | |
"whoCanContactOwner", | |
"whoCanApproveMembers", | |
"whoCanBanUsers", | |
"whoCanModifyMembers", | |
"whoCanApproveMessages", | |
"whoCanDiscoverGroup", | |
]); | |
//グループ一覧の取得 | |
var groupsList = AdminDirectory.Groups.list({domain: domainName, maxResults: maxResults}); | |
if(groupsList) { | |
for(var i = 0; i < groupsList.groups.length; i++){ | |
var value = []; | |
//グループの基本情報を取得 | |
value.push(groupsList.groups[i].email); //メールアドレス | |
value.push(groupsList.groups[i].name); //グループ名 | |
value.push(groupsList.groups[i].description); //説明 | |
value.push(groupsList.groups[i].directMembersCount); //メンバー数 | |
//グループのプロパティを取得 | |
var group = AdminGroupsSettings.Groups.get(groupsList.groups[i].email); | |
value.push(group["whoCanJoin"]); | |
value.push(group["whoCanViewMembership"]); | |
value.push(group["whoCanViewGroup"]); | |
value.push(group["whoCanInvite"]); | |
value.push(group["whoCanAdd"]); | |
value.push(group["allowExternalMembers"]); | |
value.push(group["whoCanPostMessage"]); | |
value.push(group["allowWebPosting"]); | |
value.push(group["maxMessageBytes"]); | |
value.push(group["isArchived"]); | |
value.push(group["archiveOnly"]); | |
value.push(group["messageModerationLevel"]); | |
value.push(group["spamModerationLevel"]); | |
value.push(group["showInGroupDirectory"]); | |
value.push(group["whoCanLeaveGroup"]); | |
value.push(group["whoCanContactOwner"]); | |
value.push(group["whoCanApproveMembers"]); | |
value.push(group["whoCanBanUsers"]); | |
value.push(group["whoCanModifyMembers"]); | |
value.push(group["whoCanApproveMessages"]); | |
value.push(group["whoCanDiscoverGroup"]); | |
values.push(value); | |
} | |
//取得したデータをスプレッドシートにセット | |
sheet.getRange(1, 1, groupsList.groups.length + 1 , 25).setValues(values); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment