0

我工作的這包括在GET成員從一組腳本, 腳本識別如果郵件是否是一組電子郵件或成員電子郵件, 但是,在我的工作中,我們有羣體!提取物組電子郵件(在組羣),Google Apps腳本,然後電子郵件

因此,這裏的腳本

function getGroupUsers() { 
var group = sheet.getActiveRange().getValue(); 
var members = AdminDirectory.Members.list(group).members; 
for (var i = 1; i < members.length; i++) { 
    var member = members[i]; 
    var caseUser = sheet.getRange(i+1, 1); 
    var caseGroupe = sheet.getRange(i+1, 2); 

    var lastRange = sheet.getRange(sheet.getLastRow(), 3); 
// var caseGroupe2 = sheet.getRange(i+1, 4); 

switch (member.type) { 
    case 'USER': 
     Logger.log('%s is a user', member.email); 
     caseUser.setValue(member.email); 
     break; 
    case 'GROUP': 
     Logger.log('%s is a group', member.email); 
     //var group = GroupsApp.getGroupByEmail(member.email); 
     caseGroupe.setValue(member.email); 
     break; 
    default: 
     Logger.log('nothing'); 
    } 

這幹活,作爲集團在第二列下去,但我需要他們自動延長,像什麼我在開始時的循環做,但我我不確定它是如何工作的,我在循環中嘗試了循環,但是當我得到該組的成員時,只有一個寫在案例中,而不是全部。

如果您需要了解更多信息,或者你需要我解釋一點你不知道要了解剛纔告訴我

回答

0

我修改你的代碼一點點。你提到的關於在循環內部做循環的事情是正確的。

我沒有類似的東西,但不是有一個循環內的循環,我創建了一個新的功能,然後遞歸調用它。這是爲了處理一個小組會有另一個小組的情況,而另一個小組會有另一個小組作爲成員。

function getGroup(){ 
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 
    var cell = sheet.getActiveCell(); 
    var group = sheet.getActiveCell().getValue(); 
    var subgroup = 1; 
    getMembers(group, subgroup, cell, sheet); 
    cell.activate(); 
} 


function getMembers(group, subgroup, cell, sheet) 
{ 
    var col = cell.getColumn() +subgroup; 
    var row = cell.getRow() +1; 
    try{ 
    var members = AdminDirectory.Members.list(group).members; 
    if(!members) 
    { 
     return 0; 
    } 
    } 
    catch (e) 
    { 
    return; 
    } 
    var offset = 0; 
    for(var member in members){ 
    var newcell = sheet.getRange(row++,col); 
    newcell.setValue(members[member].email);  
    if(members[member].type == 'GROUP'){ 
     newcell.activate(); 
     offset = getMembers(members[member].email,subgroup , sheet.getActiveCell() ,sheet); 
     row = row + offset; 
    } 
    } 
    return member.length + offset; 
} 

我希望這可以幫助你打算做什麼。

+0

非常感謝,這是工作!但它不開發整個組,我得到TypeError:無法讀取該行的未定義的屬性「長度」:'return member.length + offset;'但這個想法就在這裏,就像我認爲它會工作一樣! – jdris

+0

我編輯了代碼。我沒有爲沒有成員的團體進行測試。 – Gerardo

+0

這這種情況下,停止時團體0個成員,我嘗試過一些,如果和其他條件,但它無論 – jdris