2013-01-31 23 views
0

我已經創建了這個谷歌應用程序腳本以創建文件夾(在谷歌驅動器中)並共享它們。 https://script.google.com說:GAS:folder.addEditor():郵件錯誤

但有時當addEditor函數運行我得到這個錯誤消息時遇到錯誤:電子郵件不正確:[email protected]

但是,如果我直接在共享插入此電子郵件面板的文件夾,然後它的工作...

*//---- EMAILS 

function validateEmail (emailAddress) { 
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); 
    return pattern.test(emailAddress); 
} 

//---- FOLDERS 


function FolderCreateByPathShared(path,editorsList,viewersList){ 
    // path e.g. : 'F1/F2/F3', 'F1' created in root 
    // e.g. : FolderCreateByPathShared('F1/F2/F3',['[email protected]'],['']) 

    var f=FolderCreateByPath(path); 

    if(viewersList){ 
    for(var c=0 ; c<viewersList.length ; c++){ 
     if(validateEmail(viewersList[c])) f.addViewer(viewersList[c]); 
    } 
    } 

    if(editorsList){ 
    for(var c=0 ; c<editorsList.length ; c++){ 
     if(validateEmail(editorsList[c])) f.addEditor(editorsList[c]); 
    } 
    } 

    return f; 
}* 
+0

當你說'有時'你的意思是一些電子郵件地址(和可重複?)或有時是隨機的,然後工作? –

+0

是的一些電子郵件地址。總是一樣。如果我直接在文件夾的共享面板中插入相同的電子郵件地址,我不明白它爲什麼會起作用。爲什麼谷歌允許它在這種情況下,而不是在其他... – user2029190

+0

我怎樣才能捕捉到這個錯誤信息?我的腳本被這種錯誤中止。 – user2029190

回答

0

是的它的工作原理。我可以嘗試捕獲錯誤。 :-)

但現在有人知道爲什麼某些郵件被這些說明阻止了嗎? 當我在文件夾的共享面板中插入相同的被阻止的郵件,那麼它的工作原理...

+0

您是否檢查過這些特定電子郵件上validateEmail函數實際返回的字符串? –