2011-09-27 5 views
2

Je m in the process of creating a custom timesheet using Google Docs and Google Apps Script. One of the requirements is to save the timsheet as a PDF when the user submits the timesheet. Here s ce que j'ai actuellement:Google Apps Script UrlFetchApp Exception

function createPdf(){ 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 

    var oauthConfig = UrlFetchApp.addOAuthService("google"); 
    oauthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken"); 
    oauthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope=https://spreadsheets.google.com/feeds/"); 
    oauthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken"); 
    oauthConfig.setConsumerKey("anonymous"); 
    oauthConfig.setConsumerSecret("anonymous"); 

    var url = "https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=" 
     + ss.getId() + "&gid=0&portrait=true" +"&exportFormat=pdf"; 

    var requestData = { 
    "oAuthServiceName": "google", 
    "oAuthUseToken": "always" 
    }; 

    var result = UrlFetchApp.fetch(url, requestData); 
    var content = result.getBlob(); 
    var file = DocsList.createFile(content); 

    return file; 

} 

Lors du débogage du script, je reçois l'erreur suivante:

Unexpected exception upon serializing continuation

Toute aide serait appréciée.

Répondre

3

Après quelques recherches plus loin, je trouve cette solution:

function createPdf(){ 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var pdf = ss.getAs("application/pdf"); 
    var file = DocsList.createFile(pdf); 
    file.rename("Test"); 

    return file; 

} 
Questions connexes