суббота, 21 мая 2011 г.

Example code for generating dynamic pdf from spreadsheet - SOLVED

http://www.google.com/support/forum/p/apps-script/thread?tid=780918cacbcb92a5&hl=en
function 
sendPDF({
  var ss SpreadsheetApp.getActiveSpreadsheet();
  var ss.getSheetByName("Print");
  var ssID ss.getId()
  var sheetName ss.getName();
  //var email = Session.getUser().getEmail();
    var email "****@gmail.com";
  var subject "subject";
  var body "bobby :)";
  var format "pdf";  // use 'xls' for excel
  var sheetgid "40"// gid of page to be sent
  
  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("anonymouse");
  oauthConfig.setConsumerSecret("anonymouse");
  //supposedly even better code, dont quite understand it tho
  //oauthConfig.setConsumerKey(ScriptProperties.getProperty("consumerKey"));
  //oauthConfig.setConsumerSecret(ScriptProperties.getProperty("consumerSecret"));

  var requestData {
    "method""GET",
    "oAuthServiceName""google",
    "oAuthUseToken""always"
  };
//Page size: ?size=legal/letter/A4
//Which sheet to export (by number), e.g. 5.  Not positional.  If you delete Sheet1, the next sheet will be 2. ?gid=5
//Page layout:?portrait=true/false
//Fit to page:?fitw=true/false
//Repeat header or frozen rows:?fzr=true/false
  var url "https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=ssID "&gid="sheetgid "&size=A4" "&portrait=true" +"&fitw=true" "&exportFormat=" format;
  var result UrlFetchApp.fetch(url requestData);
  var contents result.getContent();

  MailApp.sendEmail(email,subject ,body{attachments:[{fileName:sheetName+"."+formatcontent:contentsmimeType:"application//"+format}]})
}

the exact URL of my page is:-

Hopefully you fond something!

Allan

My profiles: Facebook Twitter
Contact me: Google Talk jurijs.zarkovs@gmail.com Skype jzharkov
Twitter Latest tweet: Все рассуждения мужчин не стоят одного чувства женщины.Вольтер
  Get this email app!  

Комментариев нет:

Отправить комментарий