app script doPost รับข้อมูลจาก diaglogflow

function doPost(e) {

  var data = JSON.parse(e.postData.contents);

  var intentName = data.queryResult.intent.displayName;

  

  if (intentName === 'prodrug_inten') {

    var productName = data.queryResult.parameters.product_entity;

    var price = lookupPrice(productName);

    var response = createResponse(productName, price);

    return ContentService.createTextOutput(JSON.stringify(response)).setMimeType(ContentService.MimeType.JSON);

  } else {

    return ContentService.createTextOutput(JSON.stringify({

      fulfillmentText: "ขออภัย ไม่สามารถประมวลผลคำขอนี้ได้"

    })).setMimeType(ContentService.MimeType.JSON);

  }

}


function lookupPrice(productName) {

  // สมมติว่าเราใช้ Google Sheets เป็นฐานข้อมูล

  var sheet = SpreadsheetApp.openById('1SFuy-_AAXFeDYxlWAGA-4Ls9pMWe4apWSfe2X3eQkfA').getSheetByName('productinfo');

  var data = sheet.getDataRange().getValues();


  // Add one line to use BetterLog

Logger = BetterLog.useSpreadsheet('1SFuy-_AAXFeDYxlWAGA-4Ls9pMWe4apWSfe2X3eQkfA'); 


//Now you can log and it will also log to the spreadsheet

Logger.log(productName);

  

  for (var i = 1; i < data.length; i++) {

    if (data[i][1].toLowerCase() === productName.toLowerCase()) {

      return data[i][1]+data[i][2]; // สมมติว่าราคาอยู่ในคอลัมน์ที่ 2

    }

  }

  

  return null; // ถ้าไม่พบสินค้า

}


function createResponse(productName, price) {

  var response = {

    fulfillmentText: price ? ราคาของ ${productName} คือ ${price} บาท : `ขออภัย ไม่พบข้อมูลราคาของ ${productName}`,

    fulfillmentMessages: [

      {

        text: {

          text: [price ? ราคาของ ${productName} คือ ${price} บาท : `ขออภัย ไม่พบข้อมูลราคาของ ${productName}`]

        }

      }

    ]

  };

  

  return response;

}

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

google app script เชื่อมต่อกับ diaglogflow