myFunction() が doPost によって処理されるペイロードを送信し、ペイロードに基づいてコンテンツを返すようにしたいと考えています。これらのテスト スクリプトは、次のいずれかのインスタンスでのみ機能します。
a) doGet() を使用し、ペイロードを渡すのではなく、期待どおりに返される出力を取得します。
また
b) doPost() を使用し、ペイロードを渡しますが、出力ではなく 405 コードを取得します。
私は何が欠けていますか?
function doPost(e) {
var ss = SpreadsheetApp.openById('<spreadsheet id for recording parameters>');
var sheet = ss.getSheets()[0];
var record;
for (var i in e.parameters) {
record = 'parameter: ' + i + ' = ' + e.parameters[i];
sheet.getRange(sheet.getLastRow() + 1, 1, 1, 1).setValue(record);
}
var output = ContentService.createTextOutput();
output.setContent("content to return");
return output;
}
function myFunction() {
var url = '<url of above script webapp, set to anonymous, anyone>';
var payload = {payloadToSend : 'string to send'};
var method = 'post'
var response = UrlFetchApp.fetch(url, {method : method, payload: payload}).getContentText();
Logger.log(response);
return;
}