私はスプレッドシートでレスポンスを取得するGoogleフォームを持っています。現在、新しい応答が作成されるたびに、新しいシートが作成されます。アクティブシートをGoogleシートから電子メールの添付ファイルとして送信
新しいシートを作成する既存のスクリプトに「アクティブシートスクリプトをメールする」を追加しようとしています。
ただし、「https://docs.google.com/spreadsheets/d/SS_ID/exportのリクエストに失敗しましたか?」というエラーが表示されます。次
var result = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + token
}
});
の周りに私は、送信メールの一部のためのguideとしてこの記事を使用しています。
これは私が使用しているスクリプト全体です。
function onSubmit(e){
Logger.log('submit ran');
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
//Get last row of data
var lastRow = sheet.getLastRow();
var colB_Data = sheet.getRange(lastRow, 2).getValue();
//create sheet name with order no.
ss.insertSheet(colB_Data);
//order formula
var sheets = ss.getSheets()[1];
var cell = sheets.getRange("b2");
cell.setFormula("=TRANSPOSE('Form Responses 1'!B1:AR1)");
var cell = sheets.getRange("c2");
cell.setFormula("=sheetName()");
var cell = sheets.getRange("c3");
cell.setFormula("=transpose(FILTER('Form Responses 1'!C:AR,'Form Responses 1'!B:B=C2))");
var cell = sheets.getRange("d5:d44");
cell.setFormula("=C5*vlookup(B5,'RG Cost'!B:E,4,0)");
var cell = sheets.getRange("d5:d44");
cell.setNumberFormat("[$₹][>9999999]##\,##\,##\,##0;[$₹][>99999]##\,##\,##0;[$₹]##,##0")
var cell = sheets.getRange("c47");
cell.setFormula("=sum(C5:C44)");
var cell = sheets.getRange("d47");
cell.setFormula("=sum(D5:D44)");
var cell = sheets.getRange("b47");
cell.setValue('TOTAL');
//Send active sheet as email attachment
var ssID = SpreadsheetApp.getActiveSpreadsheet();
var email = Session.getUser().getEmail();
var subject = "Order no.";
var body = "Hello";
var token = ScriptApp.getOAuthToken();
var url = "https://docs.google.com/spreadsheets/d/SS_ID/export?" + "format=xlsx" + "&gid=" + "&portrait=true" + "&exportFormat=xlsx";
var result = UrlFetchApp.fetch(url, {
headers: {
'Authorization': 'Bearer ' + token
}
});
var contents = result.getContent();
MailApp.sendEmail("[email protected]",subject ,body, {attachments:[{fileName:colB_Data+".pdf", content:contents, mimeType:"application//pdf"}]});
};
var ssIDを持つ行は、IdではないSpreadsheetオブジェクトを返すので、getId()が必要だと思います。私はどこでそれを使用して表示されません。あなたが提供したURLに文字列SS_IDが含まれているので、私はそれを指摘しました。 https://docs.google.com/spreadsheets/d/SS_ID/export? – Cooper
RPG:GPFで参照される投稿のURLは、/ feeds /を含むあなたとは異なるURL構造を使用しますが、そうではありません。 –