2016-06-20 27 views
0

我正在編寫一個小腳本,將用戶列表從電子郵件組中拉出來,並將某些個人添加到不同的「主」組中。我的日誌輸出看起來像你在下面看到的。 sis只添加名字。有誰知道如何將整個列表粘貼到gmail組中,或者有沒有辦法將Logger.log的輸出放入.csv中,然後通過循環來單獨添加每個名稱?我需要解析Google Script的輸出logger.log

日誌輸出:

[16-06-20 08:05:31:123 PDT] [[email protected][email protected][email protected],名@ domain.com,[email protected][email protected][email protected][email protected][email protected][email protected][email protected]] [16 -06-20 08:05:32:205 PDT]

當前代碼:

function getGroupMembers() { 
    var values = SpreadsheetApp.getActiveSheet(); 
    var groupEmail = values.getRange(17, 5).getDisplayValue(); 
    var userEmail = values.getRange(17, 4).getDisplayValue(); 
    var group = GroupsApp.getGroupByEmail(userEmail); 
    var users = group.getUsers(); 
    for (var u = 0; u < users.length; u++) { 
     var member = { 
      email : users, 
      role : 'MEMBER' 
     } 
    } 
    member = AdminDirectory.Members.insert(member, groupEmail); 
    Logger.log('User %s added as a member of group %s.', userEmail, groupEmail); 
} 
+0

你使用哪種語言? (將它添加到標籤中) –

+0

在Google腳本編輯器中執行此操作,我知道這很醜陋。基本上,我從一個子組拉取用戶列表,並將列表添加到主組中,但它只是在列表中添加名字: –

+0

我可以看到實際的代碼嗎? –

回答

0

你能告訴我這是否符合你的需求。我將insert置於for循環中,並使用users[u]而不是users來設置電子郵件。否則,循環無用。

順便說一下,Google腳本使用的語言是JavaScript

function getGroupMembers() { 
    var values = SpreadsheetApp.getActiveSheet(); 
    var groupEmail = values.getRange(17, 5).getDisplayValue(); 
    var userEmail = values.getRange(17, 4).getDisplayValue(); 
    var group = GroupsApp.getGroupByEmail(userEmail); 
    var users = group.getUsers(); 
    for (var u = 0; u < users.length; u++) { 
     var member = { 
      email : users[u], 
      role : 'MEMBER' 
     }; 
     Logger.log('u=' + u + '---' + users[u]); 
     //member = AdminDirectory.Members.insert(member, groupEmail); 
    } 
    Logger.log('User %s added as a member of group %s.', userEmail, groupEmail); 
} 
+0

沒有,仍然只加載列表中的第一個用戶 –

+0

感謝雖然我真的很感謝你的幫助 –

+0

你能記錄'users.length'並告訴我值嗎? –