我正在尝试将一张纸的PDF附加到电子邮件中,并使用下面的代码。问题是它必须首次从编辑器运行,否则授权模式不会出现,脚本就会挂起。我需要能够从工作表本身运行此脚本。这是我的代码:
function spreadsheetToPDF(key, id, name) {
var oauthConfig = UrlFetchApp.addOAuthService("spreadsheets");
var scope = "https://spreadsheets.google.com/feeds"
oauthConfig.setConsumerKey("anonymous");
oauthConfig.setConsumerSecret("anonymous");
oauthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
oauthConfig.setAuthorizationUrl("https://accounts.google.com/OAuthAuthorizeToken");
oauthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
var requestData = {
"oAuthServiceName": "spreadsheets",
"oAuthUseToken": "always",
};
var pdf = UrlFetchApp.fetch("https://docs.google.com/a/propertysolutions.com/spreadsheets/d/"+key+ "/export?format=pdf&size=0&fzr=true&portrait=false&fitw=true&gid=" + id +
"&gridlines=false&printtitle=false&sheetnames=false&pagenum=UNDEFINED&attachment=true", requestData).getBlob().setName(name);
return pdf;
}
答案 0 :(得分:0)
此问题已经讨论了很多次,可以在issue tracker under ref 677中找到,最新的更新提到它不会被修复。
与此同时,其中一篇最新帖子(由E. Koleda撰写)提出了不同的工作流程(并承诺在不久的将来展示示例)。