สร้าง Bots ไว้ใช้ใน Google Workspace ง่ายๆ ด้วย Google Chat API

สร้าง Bots ไว้ใช้ใน Google Workspace ง่ายๆ ด้วย Google Chat API
ในยุคโควิด-19 ที่หลายๆ องค์กรปรับกลยุทธ์ให้เข้ากับสถานการณ์ Work From Home, การใช้ tools ต่างๆ เข้ามาอำนวยความสะดวกในการทำงาน และ Google Workspace เอง ก็เป็นดาวเด่นในเรื่อง Work Collaboration Tools และเครื่องมือที่ขาดไม่ได้เลยในการติดต่อสื่อสารก็คือ Messaging App อย่าง Google Chat
เนื้อหาค่อนข้างยาว เลือกอ่านหัวข้อที่สนใจได้เลยจ้า
    Add a header to begin generating the table of contents
    Google Chat auto reply

    Google Chat เครื่องมือที่อำนวยความสะดวกในการติดต่อสื่อสารและรองรับไอเดียของเราด้วยความสามารถของ chatbot ที่ช่วยให้เราทำงานต่างๆ ได้ง่ายขึ้นด้วย Chat API

    การใช้ Chat API บน Workspace จะมีความแตกต่างกับ chatbot ที่เราคุ้นเคยชื่อกันอย่าง Dialogflow ทั้งนี้ขึ้นอยู่กับ use case ที่เราจะนำไปใช้ เช่น หากเราต้องการใช้ chatbot เพื่อคุยกับลูกค้าในเรื่องของธุรกิจในองค์กร หรือสินค้าต่างๆ ที่มีลักษณะเป็น conversational AI ตัว Dialogflow ก็ตอบโจทย์ในเรื่องเหล่านี้ได้ดี สามารถดูตัวอย่างการประยุกต์ใช้ Dialogflow ในการตอบแบบสอบถามรับฟรีป็อบคอร์นได้ที่บทความนี้

    ส่วนเจ้าตัว Chat API จะเหมาะกับงานที่เราใช้ในองค์กรแบบ internal chat ประยุกต์ใช้กับ workflow ที่เราจะสร้างหรือ execute บางคำสั่ง จะไม่ได้เป็นในลักษณะบทสนทนาคุยถาม-ตอบเลียนแบบมนุษย์ เช่น การทำบอทสำหรับช่วยค้นหาข้อมูลในองค์กร, บอทสำหรับสร้าง poll, บอทสำหรับจัดการ Gmail, Sheets หรือ Calendar  เราลองมาดูตัวอย่างบอทที่อยู่บน Google Chat กันบ้าง

    ตัวอย่าง bot บน marketplace

    1. ที่ Google Chat บนหน้า Gmail คลิกที่เครื่องหมาย + แล้วเลือก Find a bot

    2. จะมีหน้าต่าง pop-up ขึ้นมาและรายชื่อบอทต่างๆ สามารถกด Add เพื่อใช้งานได้ทันที ในที่นี้เราจะลองใช้บอทสำหรับสร้างโพลกันอย่างน้อง Polly กดที่ Message ได้เลย

    3. น้อง Polly จะทักทายเราด้วยวิธีใช้งานเบื้องต้น ซึ่งเราสามารถสร้างโพลผ่านบอทตัวนี้ได้

    มาลองสร้างบอทของเรากันดีกว่า!

    สิ่งที่ bot นำไปใช้ประมวลผลเพื่อทำคำสั่งต่างๆ ก็คือข้อความของเรา ดังนั้นเราจึงต้องมี platform เพื่อมารับข้อความของเรา โดย Chat API จะรองรับการเชื่อมต่อดังนี้

    • Web Service (Cloud หรือ on-prem HTTP server)
    • Google Cloud Pub/Sub
    • Google Apps Script

    ในตัวอย่างนี้จะใช้ Google Apps Script เนื่องจากสามารถ Implement ได้อย่างรวดเร็ว อีกทั้ง Google เองก็ provide Chatbot Template มาให้บนตัว Apps Script ด้วย

    สิ่งที่เราต้องรู้จักถัดไปคือ event ที่ chatbot จะ interact กับ user หลักๆ 3 เหตุการณ์ต่อไปนี้

    1. Adds bot to space คือ event ที่ผู้ใช้ add เพื่อคุยส่วนตัวหรือ add บอทเข้ากลุ่ม
    2. @mentions bot คือ event ที่มีการ mention ถึง bot 
    3. Removes bot from space คือ event ที่เรานำบอทออกแชทส่วนตัวหรือกลุ่ม

    Google Chat API + Google Apps Script สร้าง Chatbot ได้!

    Google App Script เป็นเครื่องมืออันทรงพลังสำหรับ Google Workspace สามารถต่อยอดไอเดียด้วยภาษา Javascript ที่เราคุ้นเคย ให้เราสร้าง chatbot ง่ายๆ แค่ 3 steps

    Step 1: Create the script

    1. ไปที่หน้า Apps Script เลื่อนลงมาข้างล่างเพื่อเลือก Hangouts Chat Bot template

    2. ตัว Template จะเตรียม event ต่างๆ มาให้พร้อมใช้ได้เลย ให้เราเปลี่ยนชื่อ project ด้วยการคลิก Untitled project ซ้ายบน แล้วพิมพ์ Easy Bot จากนั้นคลิก Rename 

    3. คลิก Deploy ที่มุมขวาบนแล้วเลือก New deployment

    4. เนื่องจาก Chat API อยู่บน Google Cloud Platform (GCP) ดังนั้นจึงต้องทำการเลือก Project บน GCP ด้วยการคลิก Change project type

    5. เลือก Change project

    6. เอาเลข GCP Project number มาใส่ หรือถ้าเราไม่มี account ก็สามารถทดลองใช้ GCP ได้ที่ https://console.cloud.google.com  เมื่อได้เลข Project Number แล้วก็สามารถ Set Project ได้เลย ในการเปลี่ยน project ระบบอาจขึ้นให้ configure ตัว OAuth consent screen สามารถ configure ตาม link ที่ปรากฎขึ้นมาได้เลย

    (หน้า console บน Google Cloud Platform)

    (หน้า Project Setting บน Apps Script)

    7. คลิก Deploy ที่มุมขวาบนอีกครั้งแล้วเลือก New deployment คราวนี้จะสังเกตเห็นว่าปุ่ม Deploy สีฟ้าข้างล่างสามารถคลิกได้แล้ว ใส่รายละเอียดในช่อง Description จากนั้นจึงกด Deploy

    เมื่อ Deploy เสร็จจะได้ Deployment ID มาใช้ผูกกับ Google Chat API บน GCP ใน step ถัดไป

    Step 2: Publish the bot

    1. ขั้นแรกต้องทำการ Enable ตัว Chat API บน GCP โดยคลิกที่นี่ และทำการ Enable

    2. ชื่อ APIs จะเป็น Hangouts Chat API ไม่ต้องตกใจไป Hangout เป็นชื่อเดิมก่อนที่ Google จะเปลี่ยนชื่อเป็น Google Chat จากนั้นไปที่เมนู Configuration และใส่รายละเอียดดังต่อไปนี้

    Bot name: ‘Easy Bot’
    Avatar URL:https://goo.gl/yKKjbw
    Description: ‘First bot’
    Functionality: Bot works in direct messages
    * แต่หากต้องการให้ bot ใช้ในกลุ่มแชทได้ด้วยก็สามารถเลือก
    Bot works in rooms and direct messages with multiple users เพิ่มเติมได้
    Connection setting: Apps Script project แล้วใส่ Deployment ID ลงไป
    Permissions: ในการทดลองนี้เราเลือก Specific people and groups in your domain เป็นแบบรายบุคคลก่อนแล้วใส่ email ตัวเองลงไป

    เมื่อใส่ข้อมูลครบถ้วนแล้ว กด save เราก็จะได้ bot ตัวแรกแบบง่ายๆ แล้ว

    Step 3: Run the sample

    1. ไปที่ Gmail อีกครั้ง ไปในส่วน Google Chat แล้วกด + ไปที่เมนู Find a bot อีกครั้ง คราวนี้ลองค้นหาด้วยคำว่า Easy Bot  จะพบ bot ที่เราสร้าง เลือกที่ bot ของเราแล้ว message หาได้เลย

    2. Bot จะทักทายด้วยข้อความต้อนรับที่อยู่ใน Apps Script เราสามารถทดสอบคุยกับบอทได้แล้ว ซึ่งบอทนี้จะเรียกว่า echo bot เพราะจะตอบกลับมาในสิ่งที่เราส่งไป เอาไว้ทดสอบการทำงานของแชทบอทเบื้องต้น เพียงเท่านี้เราก็ได้แชทบอทตัวแรกใน 3 steps ง่ายมากๆ เลยใช่ไหม

    ทำ Chatbot ให้เก่งขึ้นอีกด้วยการเชื่อมต่อ External APIs

    คราวนี้เราลองมาต่อยอดให้ chatbot เราเก่งขึ้นอีก เพื่อรองรับ business use case ต่างๆ ในองค์กรของเราด้วยการต่อกับ APIs ที่เราพัฒนาขึ้นมาเองหรือ APIs ข้างนอก

    ตัวอย่างนี้ผมจะลองทำบอทสำหรับค้นหาข้อมูลของประเทศต่างๆ บนโลก ด้วยการใช้ restcountries.eu  ตัวอย่างคือ หากผมพิมพ์คำว่า search นำหน้าแล้วตามด้วย keywords ตัว Apps Script จะทำการ call API สำหรับค้นหาประเทศไปที่ restcountries  ดังตัวอย่างต่อไปนี้

    ซึ่งผมมี implement เพิ่ม flow ไป call APIs ตาม diagram ต่อไปนี้

    เอาล่ะ เรามาเริ่ม implement กัน โดยการเพิ่มโค้ดสำหรับเรียก APIs ต่อไปนี้ที่ function onMessage

    function onMessage(event) {

     var name = “”;

     if (event.space.type == “DM”) {

       name = “You”;

     } else {

       name = event.user.displayName;

     }

     var message = name + ” said \”” + event.message.text + “\””;

     // BEGIN: Call APIs by detect keyword ‘search’

     if (event.message.text.startsWith(‘search’)){

       var query = event.message.text.replace(/^search /,“”);

       var url = ‘https://restcountries.eu/rest/v2/name/’ + query;

       var response = UrlFetchApp.fetch(url, {‘muteHttpExceptions’: true});

       var json = response.getContentText();

       var data = JSON.parse(json);

       if (typeof data.length === ‘undefined’) {

         return {“text” : “No result”};

       } else {

         var found_str = “found “+data.length+” result(s)”;

         var detail_str = “”;

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

           detail_str += (i+1)+“.”+data[i].nativeName+“/”+data[i].capital+‘\n’;

         }

         return {“text” : found_str+‘\n’+detail_str};

       }

      }

      // END OF ADDED CODE

      return { “text”: message };

    }

    จากนั้น Save และทำการ Deploy ตัว script นี้ทั้งหมดอีกครั้งหนึ่ง หลังจากที่ Deploy สำเร็จแล้ว ไปที่ Google Chat bot ของเราเพื่อทดสอบการใช้งาน ด้วยการพิมพ์คำว่า search แล้วตามด้วย keyword

    จะได้ผลลัพธ์การค้นหาดั่งภาพข้างต้น ซึ่งจากตัวอย่างนี้เราสามารถที่จะลอง implement เพิ่มเติมหรือลองแก้โค้ดเพื่อดึงข้อมูลรายละเอียดอื่นๆ ของประเทศมาแสดงบน Google Chat ก็ได้

    *สำหรับท่านที่พิมพ์คำว่า search แล้ว bot ยังทำงานเป็น echo bot อยู่ ให้ลองทำการ refresh ตัว web browser หรือลอง save script บน Apps Script อีกครั้งแล้วจึงกด deploy ใหม่

    Summary

    เป็นอย่างไรบ้าง กับ Chatbot ตัวแรก ไม่ยากเลยใช่ไหม เราสามารถประยุกต์แล้วเรียนรู้ที่ใช้ Apps Script ให้ Chatbot ช่วยจัดการในด้านอื่นๆ บน Workspace ได้อีกมากมาย ซึ่งทุกท่านสามารถหาข้อมูลเพิ่มเติมสำหรับเจ้า Google Chat API ได้ที่นี่ และสำหรับใครที่สนใจในเรื่องของ Google Workspace หรือ Service อื่นๆ อาทิ Dialogflow, Machine Learning/AI Platform ทาง Tangerine มีผู้เชี่ยวชาญคอยให้คำปรึกษาสามารถติดต่อได้ที่อีเมล google.sales@tangerine.co.th หรือโทร 08-6788-4690 ได้ทันที

    Share on social media

    Tangerine Expertise

    Related Solution

    Expand Interests

    All and More

    • All
    • Apigee
    • Application Development
    • Business Transformation
    • Cisco
    • Converged Infrastructure
    • Data Analytics
    • Dell EMC
    • Dell Technologies
    • Dialogflow (Chatbot)
    • Event
    • G Suite
    • Google Cloud
    • Google Cloud Platform
    • Google Maps Platform
    • Google Workspace
    • Highlight
    • Huawei
    • Hybrid Cloud & Multi Cloud
    • Knowledge
    • Networking
    • Productivity & Work Transformation
    • Security
    • Smart Business Analytics & AI
    • Storage & Data Protection
    • Success Story
    • Tenable
    • Thales
    • VMware
    All
    • All
    • Apigee
    • Application Development
    • Business Transformation
    • Cisco
    • Converged Infrastructure
    • Data Analytics
    • Dell EMC
    • Dell Technologies
    • Dialogflow (Chatbot)
    • Event
    • G Suite
    • Google Cloud
    • Google Cloud Platform
    • Google Maps Platform
    • Google Workspace
    • Highlight
    • Huawei
    • Hybrid Cloud & Multi Cloud
    • Knowledge
    • Networking
    • Productivity & Work Transformation
    • Security
    • Smart Business Analytics & AI
    • Storage & Data Protection
    • Success Story
    • Tenable
    • Thales
    • VMware
    Google CloudGoogle Maps PlatformHighlight

    การกำหนด Quota การใช้งาน API Service บน Google Maps Platform

    สวัสดีผู้ใช้งาน Google Maps Platform ทุกท่าน บทความนี้ทางแทนเจอรีนจะมาแนะนำวิธีการกำหนด และตั้งค่าเกี่ยวกับ Quota การเรียกใช้งาน API Service ต่างๆ ของ Google Maps Platform

    Google Cloud Platform วิธีใช้งาน
    Data AnalyticsGoogle CloudGoogle Cloud Platform

    Data Engineer ถูกใจสิ่งนี้ Google Cloud Composer เครื่องมือคู่กายสาย Airflow

    ปฎิเสธไม่ได้เลยว่าในปัจจุบันการใช้ประโยชน์จากข้อมูลเป็นเรื่องพื้นฐานที่แต่ละองค์กรต้องรู้ เพื่อนำมาสร้างมูลค่าให้กับธุรกิจ แต่การจัดการข้อมูลเหล่านั้นยังเป็นเรื่องที่ซับซ้อนและบริหารได้ลำบากเนื่องจากปริมาณข้อมูลนั้นเพิ่มขึ้นอย่างรวดเร็วมหาศาล อีกทั้งยังมีที่มาจากหลากหลายแหล่งที่เพิ่มขึ้นทุกวัน

    Google CloudGoogle Cloud Platform

    เพิ่มประสิทธิภาพความเร็วให้ Modernize Application ด้วย CI/CD

    ปัจจุบันนี้หลาย ๆ องค์กรได้ให้ความสนใจและมีการพัฒนา Application ที่เปลี่ยนรูปแบบไปจากเดิมคือ Waterfall Model มาเป็นแบบ Agile เพื่อทำให้สามารถ Release Application ไปถึงมือของ Users ได้รวดเร็วมากขึ้น รวมถึงการออกแบบ Architecture ของ Application ก็ได้มีการเปลี่ยนจากแบบ Monolith Application มาเป็นแบบ Microservice Application กันมากขึ้น

    HighlightHybrid Cloud & Multi CloudVMware

    ความสามารถใหม่ Container Runtime Protection ช่วยปกป้ององค์กรจาก Cyber Attack ได้ดีกว่าเดิมอย่างไร?

    ปี 2022 และต่อจากนี้ คาดการณ์กันว่าจะมีการโจมตีทาง Cyber หรือ Cyber Attack กันอย่างต่อเนื่องอีกมาก และซับซ้อนยิ่งขึ้น ไม่ว่าจะเป็นการโจมตีที่เราคุ้นเคยกันอย่าง DDoS, Ransomware และที่กำลังถูกโจมตีกันอย่างแพร่หลายอย่าง Cryptocurrency Mining ที่จะลักลอบเอา Resource การประมวลผลของผู้ถูกโจมตีไปใช้งานในการขุด Cryptocurrency หรือ สกุลเงินดิจิตอลเพื่อความมั่งคั่งของผู้โจมตีเอง

    CiscoSecurity

    ปกป้องระบบ Cloud ขององค์กรง่ายๆ ด้วย 7 เครื่องมือสำคัญจาก Cisco Secure Portfolio

    การรักษาความปลอดภัยของ Cloud อาจเป็นเรื่องยุ่งยาก สิ่งไหนกันแน่ที่เรากำลังต้องป้องกัน มีคำถามมากมายเกิดขึ้น เมื่อมีการใช้งาน Application บน Public Cloud ตัวอย่างเช่น

    Scroll to Top

    ติดต่อ tangerine

    Tel: +66 2 2855511   |   Email: info@tangerine.co.th





        This website uses cookies to ensure you get the best experience on our website. View Privacy Policy