Marketoフォーム入力時、テキストエリアに改行があってもスプレッドシートへはき出す処理が知りたい
弊社では、Marketoを使用したお問い合わせフォームをWebhookでSpreadSheetと連携しています。
下記コミュニティのスクリプトを参考に、スクリプト作成いたしました。
https://nation.marketo.com/t5/japan-user-group-discussions/webhook%E3%81%A7spreadsheet%E3%81%A8%E9%80%A3%E6%90%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95-part%EF%BC%92/gpm-p/254292#M3268
[弊社で作成したスクリプト]
------------------------------------
// POSTリクエストに対する処理
function doPost(e) {
// JSONをパース
if (e == null || e.postData == null || e.postData.contents == null) {
return;
}
var requestJSON = e.postData.contents;
var requestObj = JSON.parse(requestJSON);
//
// 結果をスプレッドシートに追記
//
var spreadsheet = SpreadsheetApp.openById('xxxxxxxxxxxxxxxx'); //キーは、URL https://docs.google.com/spreadsheets/d/xxxxxxxxxxxxxxxx/edit の xxxxxxxxxxxxxxxx の部分です。
var sheet = spreadsheet.getSheetByName('シート名'); // ヘッダ行を取得
var headers = sheet.getRange(1,1,1,sheet.getLastColumn()).getValues()[0];
// ヘッダに対応するデータを取得
var values = [];
for (i in headers){
var header = headers[i];
var val = "";
val = requestObj[header];
values.push(val);
}
sheet.appendRow(values); // 0落ちさせないため
}
--------------------------------------
フォーム入力のテキストエリアに改行がなかった場合はスプレッドシートに正常にはき出されています。
しかし、テキストエリアで改行があった場合、スプレッドシートにフォーム入力内容すべてがはき出されない状況となっております。
※入力内容すべてというのは、スプレッドシートに全くデータがはき出されない状態です。
フォーム入力内容に改行があってもスプレッドシートへはき出すことはできないのでしょうか。
はき出す方法もしくは、回避策がありましたらお教えいただけますでしょうか。
よろしくお願いいたします。