2014-03-31 48 views
0

此代碼工作正常,直到20.02.2014。 現在它報告錯誤302«移動暫時»。這個問題似乎是在添加身份驗證和重定向,但我沒有找到正確的答案。請幫助我找到解決此問題的解決方法或解決方法。導出xls並通過電子郵件發送

function googleOAuth_(name,scope) { 
    var oAuthConfig = UrlFetchApp.addOAuthService(name); 
    oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope); 
    oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken"); 
    oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken"); 
    oAuthConfig.setConsumerKey('anonymous'); 
    oAuthConfig.setConsumerSecret('anonymous'); 
    return {oAuthServiceName:name, oAuthUseToken:"always"}; 
} 

function sendDailyNewsEmailReport(){ 
    var emails = "[email protected]"; 
    var sourceDocument = SpreadsheetApp.create("DailyReport"); 
    var sourceDocumentId = sourceDocument.getId(); 
    sourceDocument.getUrl(); 
    var id = sourceDocumentId; 
    var url = 'https://docs.google.com/feeds/'; 
    var doc = UrlFetchApp.fetch(url+'download/spreadsheets/Export?key='+id+'&exportFormat=xls', googleOAuth_('docs',url)).getBlob(); 
    var myMail = "Automated Report " + reportDate + "."; 
    MailApp.sendEmail(emails, "DailyReport (" + reportDate + ")" , "", {htmlBody: myMail, attachments: doc.setName("DailyNewsReport(" + reportDate + ").xls")}); 
} 

回答

0

使用此作爲最後一個行googleOAuth_功能

return {oAuthServiceName:name, oAuthUseToken:"always",muteHttpExceptions:true}; 
+0

沒辦法。我之前嘗試過。 「移動臨時文件」得到excel文件,文件已移到此處。 –

+0

您需要在腳本編輯器中運行一次代碼。這會提示你授權。我昨天遇到了這個問題,一旦我授權了應用程序(並且在我添加了muteHttpExceptions之後)它就起作用了。 –

+0

不工作...我從腳本編輯器運行它,沒有授權請求promted。我甚至爲測試製作了新的腳本文件。 –

0

我想這個代碼在新的腳本文件:

function googleOAuth_(name,scope) { 
    var oAuthConfig = UrlFetchApp.addOAuthService(name); 
    oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope); 
    oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken"); 
    oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken"); 
    oAuthConfig.setConsumerKey('anonymous'); 
    oAuthConfig.setConsumerSecret('anonymous'); 
    return {oAuthServiceName:name, oAuthUseToken:"always", muteHttpExceptions:true}; 
} 

function sendDailyNewsEmailReport(){ 
    var emails = "[email protected]"; 
    var sourceDocument = SpreadsheetApp.create("DailyReport"); 
    var sourceDocumentId = sourceDocument.getId(); 
    sourceDocument.getUrl(); 
    var id = sourceDocumentId; 
    var url = 'https://docs.google.com/feeds/'; 
    var doc = UrlFetchApp.fetch(url+'download/spreadsheets/Export?key='+id+'&exportFormat=xls', googleOAuth_('docs',url)).getBlob(); 
    var myMail = "Automated Report TEST"; 
    MailApp.sendEmail(emails, "DailyReport" , "", {htmlBody: myMail, attachments: doc.setName("DailyNewsReport.xls")}); 
} 

有人問兩次授權,然後我得到了文件, 「暫時移動」...