Tag: google sheet

  • อ่านข้อมูลจาก google sheet ด้วย API Service

    เมื่อมีการเก็บข้อมูลแบบสอบถาม ใน google form แล้วต้องการเอาข้อมูลจาก google sheet เพื่อมาตรวจสอบว่านักศึกษาหรือคนที่กรอกแบบสอบถามนั้น ได้ตอบแบบสอบถามไปรึยัง เพื่อนำมาตรวจสอบต่อกับเว็บไซต์หรือระบบของเราที่พัฒนาเอง เช่นนักศึกษาคนนี้กรอกแบบสอบถามรึยัง ถ้ากรอกแล้วจะสามารถดำเนินการต่อในระบบได้ ถ้ายังไม่กรอกต้องไปยังแบบสอบถามก่อน

    ขั้นแรก ต้องเปิดช่องทางการเข้าถึง Google sheet และกำหนดสิทธิ์ให้ Application ที่เราต้องการเข้าถึงข้อมูลนั้น ๆ ก่อน ไปยังลิงค์  https://console.developers.google.com/ และไปที่ปุ่มรูป Hamberger –> IAM & Admin –> Manage Resources

    จากนั้นจะแสดงหน้าจัดการ Resources ให้คลิกเมนู CREATE PROJECT จะแสดงดังรูป

    ตั้งชื่อ Project และคลิกปุ่ม CTREATE เมื่อสร้างแล้วจะแสดงดังรูป

    จากนั้นไปที่ ปุ่มรูป Hamberger –> APIs & Services –> Dashboard จะแสดงหน้า Dashboard ดังรูป

    ให้เลือกเมนู Credentials แล้วคลิกเมนู CREATE CREDENTIALS –> Service account

    สร้างเสร็จแล้วจะแสดงดังรูป จากนั้นคลิกแก้ไข

    จากนั้นคลิก ADD KEY –> Create new key จะเป็นการให้สิทธิ์การเข้าถึงให้กับผู้ใช้ กดปุ่ม CREATE

    จากนั้นแก้ไขไฟล์ JSON ที่โหลดมาให้เป็นชื่อ credentials.json และเปิดไฟล์ดังกล่าว copy ส่วนของ client_email ไว้ และนำไป set ให้เข้าถึง google sheet ที่เราต้องการ

    เปิด google sheet คลิกที่ปุ่ม Share และวาง client_email ที่เรา copy ไว้ จากนั้นคลิกปุ่ม Done

    เราก็จะมาเขียนโปรแกรมดึงข้อมูลกัน ในที่นี้ขอเขียน Python เนอะ เริ่มจาก install library ที่จำเป็นกันก่อนค่ะ เปิด command line แล้วรันคำสั่งนี้กันเลย

    pip install oauth2client gspread

    ที่แสดงในภาพข้างต้นแบบนั้น เนื่องจากเรา install ไปแล้วค่ะ ต่อไปเรามาเริ่ม code กันเล้ย อย่าลืม!! บันทึกไฟล์ไว้ที่เดียวกับ credentials.json เน้อ

    ที่สี่เหลี่ยมสีแดง คือ ลิงค์ของ google sheet ที่เราให้สิทธิ์การเข้าถึงไว้ เรียบร้อยมาลองรันกันดู

    ลืมให้ดูข้อมูลใน google sheet รูปด้านล่างเลยจ้า

    ถ้ารันไม่ได้ ให้ไปที่เมนู Library แล้วค้นหา API Library ของเรา แล้วคลิก Enable เรียบร้อยแล้วลองรันใหม่ดูค่ะ

  • วิธีใช้ Google Sites เพื่อแสดงรายงานผลการลงทะเบียนจาก Google Form

    ปัจจุบันการสร้างแบบฟอร์มการรับลงทะเบียนออนไลน์สามารถทำได้ง่ายๆโดยใช้ Google Form โดยวันนี้มีโจทย์ว่า ต้องการรับลงทะเบียนผู้ที่จะร่วมเดินทาง กำหนดว่า ต้องการเดินทางกับรถบัสหมายเลขใด (มี 3 คัน) และต้องการแสดงผลทันทีว่า แต่ละคันมีจำนวนคนเท่าไหร่แล้ว และ ใครบ้างที่เดินทางไปในรถบัสคันนั้น

    วิธีการคือ

    1. สร้าง Google Form เพื่อทำระบบรับลงทะเบียนตามปรกติ
      2559-11-03-10_08_062559-11-03-10_08_22-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%a5%e0%b8%b0%e0%b9%80%e0%b8%ad%e0%b8%b5%e0%b8%a2%e0%b8%94%e0%b8%9c%e0%b8%b9%e0%b9%89%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%aa%e0%b8%87%e0%b8%84%e0%b9%8c
      2559-11-03-10_08_37-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%a5%e0%b8%b0%e0%b9%80%e0%b8%ad%e0%b8%b5%e0%b8%a2%e0%b8%94%e0%b8%9c%e0%b8%b9%e0%b9%89%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%aa%e0%b8%87%e0%b8%84%e0%b9%8c
      2559-11-03-10_08_37-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%a5%e0%b8%b0%e0%b9%80%e0%b8%ad%e0%b8%b5%e0%b8%a2%e0%b8%94%e0%b8%9c%e0%b8%b9%e0%b9%89%e0%b8%9b%e0%b8%a3%e0%b8%b0%e0%b8%aa%e0%b8%87%e0%b8%84%e0%b9%8c
    2. ในส่วนของการสร้างแบบฟอร์ม ให้คลิกที่ RESPONSES แล้วคลิกที่รูป สี่เหลี่ยมสีเขียว (Google Sheets) 
      2559-11-03-14_21_05
    3. แล้วจัดรูปแบบให้เรียบร้อย เช่นต้องการจะซ่อน Column ใดบ้าง (จะใส่สี ก็ได้นะ)
      เสร็จแล้ว คลิกที่ปุ่ม Share
      2559-11-03-14_25_27
    4. กำหนดให้ Anyone with Link “Can View” แล้วคลิก Done
      2559-11-03-14_30_28
    5. สร้าง Google Sites และสร้างโครงสร้าง Page ต่างๆตามต้องการ
      2559-11-03-10_10_02-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence
    6. ในตัวอย่างนี้ จะสร้าง Page “รายชื่อ” เพื่อไว้ใช้แสดงผลการลงทะเบียน ว่า รถหมายเลขใด มีจำนวนกี่คนแล้ว และใครบ้าง
      ให้เลือก Insert > More gadgets
      แล้วคลิกที่ Public > Include gadget (Iframe)
      2559-11-03-14_39_23-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence 2559-11-03-14_39_45-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence 2559-11-03-14_39_55-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence
    7. จากนั้น มาใส่ URL กัน
      2559-11-03-14_40_09-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence
    8. ใส่ URL ตามนี้https://spreadsheets.google.com/tq?tqx=out:html&tq=select  L,count(B) group by L  label count(B) ‘จำนวน’&key=XXXXXXXXXXXXXXXXXX

      เพื่อให้แสดงผลว่า รถบัสหมายเลขใด มีจำนวนคนเท่าไหร่
      โดยที่ tq เป็น Query เขียนว่า select L, count(B) group by L label count(B) ‘จำนวน’
      คือการแสดงคอลัมน์ L และ นับจำนวนโดยการ count โดยจัดกลุ่มตามคอลัมน์ L
      นอกจากนั้นยัง label คอลัมน์ count(B) เป็นคำว่า “จำนวน”2559-11-03-15_44_37-%e0%b9%82%e0%b8%84%e0%b8%a3%e0%b8%87%e0%b8%81%e0%b8%b2%e0%b8%a3%e0%b8%96%e0%b8%a7%e0%b8%b2%e0%b8%a2%e0%b8%84%e0%b8%a7%e0%b8%b2%e0%b8%a1%e0%b8%ad%e0%b8%b2%e0%b8%a5%e0%b8%b1%e0%b8%a2

      ผลที่ได้คือ
      2559-11-03-15_48_55-search

      และ key=XXXXXXXXXXX นั้น ให้เอาค่าจาก

      2559-11-03-15_51_51

    9. ต่อไปให้แสดงผลรายชื่อทั้งหมด โดยสามารถแยกรายชื่อแต่ละคัน โดย
      Insert > Drive > Spreadsheet
      2559-11-03-15_50_46-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolenceแล้วเลือก Google Sheet ที่ต้องการ
      2559-11-03-15_57_14-%e0%b8%a3%e0%b8%b2%e0%b8%a2%e0%b8%8a%e0%b8%b7%e0%b9%88%e0%b8%ad-condolence
    10. เมื่อดำเนินการเสร็จแล้ว ระบบก็จะสามารถแสดงผลการลงทะเบียนได้อัตโนมัติ
      2559-11-03-16_01_15-program-manager