การซิงโครไนซ์ Google Calendar

ซิงโครไนซ์ Google Calendar กับ Odoo เพื่อดูและจัดการการประชุมจากทั้งสองแพลตฟอร์ม (การอัปเดตเป็นไปในทั้งสองทิศทาง) การบูรณาการนี้ช่วยจัดระเบียบตารางเวลา เพื่อไม่พลาดการประชุมใดๆ

ตั้งค่าใน Google

เลือก (หรือสร้าง) โปรเจ็กต์

สร้างโปรเจ็กต์ Google API ใหม่และเปิดใช้งาน Google Calendar API ขั้นแรก ไปที่ คอนโซล Google API และลงชื่อเข้าใช้บัญชี Google

Note

หากเป็นครั้งแรกที่เข้าชมหน้านี้ Google จะแจ้งให้ผู้ใช้ป้อนประเทศและยอมรับข้อกำหนดในการให้บริการ เลือกประเทศจากรายการแบบเลื่อนลงและยอมรับ ToS

จากนั้นคลิก เลือกโปรเจ็กต์ และเลือก (หรือสร้าง) โปรเจ็กต์ API เพื่อกำหนดค่า OAuth และจัดเก็บข้อมูลประจำตัว คลิก โปรเจ็กต์ใหม่

สร้างโปรเจ็กต์ API ใหม่เพื่อจัดเก็บข้อมูลประจำตัว

ตั้งชื่อโปรเจกต์ API ให้ชัดเจน เช่น Odoo Sync เพื่อให้สามารถระบุได้ จากนั้นคลิกปุ่ม สร้าง

เปิดใช้งาน Google calendar API

จากนั้น คลิกที่ Enabled APIs and Services ในเมนูด้านซ้าย เลือก Enabled APIs and Services อีกครั้งหาก แถบค้นหา ไม่ปรากฏ

เปิดใช้งาน API และบริการในโปรเจ็กต์ API

หลังจากนั้น ค้นหา Google Calendar API โดยใช้แถบค้นหาและเลือก Google Calendar API จากผลการค้นหา คลิก เปิดใช้งาน

เปิดใช้งาน Google Calendar API

การตั้งค่าโดเมนที่ได้รับอนุญาต

ถัดไป โดเมนใดๆ ที่ตั้งค่าให้แสดงบนหน้าจอความยินยอมหรือในการกำหนดค่าของไคลเอนต์ OAuth จะต้องลงทะเบียนล่วงหน้า ในการดำเนินการนี้ ให้ไปที่:guilabel:Branding`ในเมนูด้านซ้าย ในส่วน:guilabel:`Authorized domains ให้คลิกปุ่ม:guilabel:Add domain`เพื่อสร้างฟิลด์สำหรับป้อนโดเมนที่ได้รับอนุญาต ป้อนโดเมน เช่น `odoo.com จากนั้นคลิกปุ่ม:guilabel:`Save`ที่ด้านล่างของหน้า

ผู้ใช้ทดสอบ

เพื่อให้ผู้ใช้สามารถซิงค์กับบัญชี Gmail ส่วนบุคคลได้ พวกเขาจะต้องถูกตั้งเป็นผู้ใช้ทดสอบ ตั้งค่าผู้ใช้ทดสอบโดยไปที่:guilabel:Audience`ในเมนูด้านซ้าย และคลิกปุ่ม:guilabel:`Add users`ในส่วน:guilabel:`Test users ป้อนอีเมลผู้ใช้ที่ต้องการ และคลิกปุ่ม:guilabel:Save

สร้างข้อมูลประจำตัว

Client ID และ Client Secret ทั้งสองจำเป็นสำหรับการเชื่อมต่อ Google Calendar กับ Odoo นี่เป็นขั้นตอนสุดท้ายใน Google console เริ่มต้นด้วยการคลิก:guilabel:Clients`ในเมนูด้านซ้าย จากนั้นคลิก:guilabel:`Create Credentials และเลือก:guilabel:OAuth client ID Google จะเปิดคู่มือการสร้างข้อมูลรับรอง

ภายใต้:menuselection:Create OAuth Client ID ให้เลือก:guilabel:Website application`สำหรับฟิลด์:guilabel:`Application Type และพิมพ์ My Odoo Database สำหรับ:guilabel:Name

  • ภายใต้ส่วน:guilabel:Authorized JavaScript Origins ให้คลิก:guilabel:+ Add URI`และพิมพ์:abbr:`URL (Uniform Resource Locator) แบบเต็มของ Odoo ของบริษัท

  • ภายใต้ส่วน:guilabel:Authorized redirect URIs ให้คลิก:guilabel:+ Add URI`และพิมพ์:abbr:`URL (Uniform Resource Locator) ของ Odoo ของบริษัทตามด้วย /google_account/authentication สุดท้าย ให้คลิก:guilabel:Create

เพิ่ม authorized JavaScript origins และ authorized redirect URIs

:guilabel:`Client ID`และ:guilabel:`Client Secret`จะปรากฏขึ้น ให้บันทึกไว้ในที่ปลอดภัย

ตั้งค่าใน Odoo

เมื่อพบ Client ID และ Client Secret แล้ว ให้เปิดฐานข้อมูล Odoo และไปที่:menuselection:Settings --> Calendar`เพื่อค้นหาฟีเจอร์:guilabel:`Google Calendar ทำเครื่องหมายในช่องที่มีป้ายกำกับ:guilabel:Google Calendar

ช่องทำเครื่องหมาย Google Calendar ในการตั้งค่าทั่วไป

ถัดไป ให้คัดลอกและวาง Client ID และ Client Secret จากหน้าข้อมูลรับรอง Google Calendar API ลงในฟิลด์ที่เกี่ยวข้องด้านล่างช่องทำเครื่องหมาย:guilabel:Google Calendar จากนั้นคลิก:guilabel:Save

Note

ทำเครื่องหมายในช่อง:guilabel:`Pause Synchronization`เพื่อหยุดการอัปเดตอีเวนต์ชั่วคราว วิธีนี้ช่วยให้สามารถทดสอบและแก้ไขปัญหาได้โดยไม่ต้องลบข้อมูลรับรองหรือถอนการติดตั้งการซิงโครไนซ์ หากต้องการดำเนินการซิงค์ต่อ ให้ล้างช่องทำเครื่องหมายและบันทึก

ซิงค์ปฏิทินใน Odoo

สุดท้าย เปิดแอป:menuselection:`ปฏิทิน`ใน Odoo และคลิกที่ปุ่มซิงค์:guilabel:`Google`เพื่อซิงค์ Google Calendar กับ Odoo

คลิกปุ่มซิงค์ Google ในปฏิทิน Odoo เพื่อซิงค์ Google Calendar กับ Odoo

Note

เมื่อซิงค์ Google Calendar กับ Odoo เป็นครั้งแรก หน้าจะเปลี่ยนเส้นทางไปยังบัญชี Google จากนั้น ให้เลือก:guilabel:Email Account`ที่ควรมีสิทธิ์เข้าถึง จากนั้นเลือก:guilabel:`Continue (หากแอปไม่ได้รับการยืนยัน) และสุดท้ายเลือก:guilabel:Continue (เพื่ออนุญาตให้มีการถ่ายโอนข้อมูล)

ให้สิทธิ์ Odoo ในการเข้าถึง Google Calendar

ตอนนี้ ปฏิทิน Odoo ซิงค์กับ Google Calendar สำเร็จแล้ว!

Warning

Odoo แนะนำอย่างยิ่งให้ทดสอบการซิงโครไนซ์ปฏิทิน Google บนฐานข้อมูลทดสอบและที่อยู่อีเมลทดสอบ (ที่ไม่ได้ใช้เพื่อวัตถุประสงค์อื่นใด) ก่อนที่จะพยายามซิงค์ Google Calendar ที่ต้องการกับฐานข้อมูลการใช้งานจริงของผู้ใช้

เมื่อผู้ใช้ซิงโครไนซ์ปฏิทิน Google กับปฏิทิน Odoo แล้ว:

  • การสร้างอีเวนต์ใน Odoo ทำให้ Google ส่งคำเชิญไปยังผู้เข้าร่วมอีเวนต์ทั้งหมด

  • การลบอีเวนต์ใน Odoo ทำให้ Google ส่งการยกเลิกไปยังผู้เข้าร่วมอีเวนต์ทั้งหมด

  • การเพิ่มผู้ติดต่อในอีเวนต์ทำให้ Google ส่งคำเชิญไปยังผู้เข้าร่วมอีเวนต์ทั้งหมด

  • การลบผู้ติดต่อออกจากอีเวนต์ทำให้ Google ส่งการยกเลิกไปยังผู้เข้าร่วมอีเวนต์ทั้งหมด

สามารถสร้างอีเวนต์ใน Google Calendar โดยไม่ส่งการแจ้งเตือนได้โดยการเลือก Don't Send เมื่อได้รับแจ้งให้ส่งอีเมลคำเชิญ

แก้ไขปัญหาการซิงค์

อาจมีบางครั้งที่บัญชี Google Calendar ไม่ซิงค์กับ Odoo อย่างถูกต้อง สามารถดูปัญหาการซิงค์ได้ในล็อกฐานข้อมูล

ในกรณีเหล่านี้ บัญชีต้องได้รับการแก้ไขปัญหา สามารถรีเซ็ตได้โดยใช้ปุ่ม Reset Account ซึ่งสามารถเข้าถึงได้โดยไปที่ แอป Settings ‣ Manage Users จากนั้น เลือกผู้ใช้เพื่อแก้ไขปฏิทิน และคลิกแท็บ ปฏิทิน

ปุ่มรีเซ็ตที่ถูกไ��ล์ตในแท็บปฏิทินของผู้ใช้

จากนั้น คลิก Reset Account ภายใต้ปฏิทินที่ถูกต้อง

ตัวเลือกการรีเซ็ต

ตัวเลือกการรีเซ็ตต่อไปนี้สามารถใช้ได้สำหรับการแก้ไขปัญหาการซิงค์ปฏิทิน Google กับ Odoo:

ตัวเลือกการรีเซ็ต Google calendar ใน Odoo

อีเวนต์ที่มีอยู่ของผู้ใช้:

  • ปล่อยไว้ตามเดิม: ไม่มีการเปลี่ยนแปลงอีเวนต์

  • ลบจากบัญชี Google Calendar ปัจจุบัน: ลบอีเวนต์จาก Google Calendar

  • ลบจาก Odoo: ลบอีเวนต์จากปฏิทิน Odoo

  • ลบจากทั้งสอง: ลบอีเวนต์จากทั้ง Google Calendar และปฏิทิน Odoo

การซิงค์ครั้งถัดไป:

  • ซิงค์เฉพาะอีเวนต์ใหม่: ซิงค์อีเวนต์ใหม่บน Google Calendar และ/หรือปฏิทิน Odoo

  • ซิงโครไนซ์อีเวนต์ที่มีอยู่ทั้งหมด: ซิงค์อีเวนต์ทั้งหมดบน Google Calendar และ/หรือปฏิทิน Odoo

คลิก ยืนยัน หลังจากทำการเลือกเพื่อแก้ไขอีเวนต์ของผู้ใช้และการซิงโครไนซ์ปฏิทิน

Google OAuth FAQ

บางครั้งอาจเกิดข้อผิดพลาดในการกำหนดค่า และจำเป็นต้องแก้ไขปัญหาเพื่อแก้ไขปัญหา ด้านล่างนี้คือข้อผิดพลาดทั่วไปที่อาจเกิดขึ้นเมื่อกำหนดค่า Google Calendar สำหรับการใช้งานกับ Odoo

สถานะการเผยแพร่แบบโปรดักชันเทียบกับการทดสอบ

การเลือก โปรดักชัน เป็น สถานะการเผยแพร่ (แทนที่จะเป็น การทดสอบ) จะแสดงข้อความเตือนดังต่อไปนี้:

OAuth จำกัดการเข้าสู่ระบบขอบเขตที่ละเอียดอ่อน 100 รายการจนกว่าหน้าจอความยินยอม OAuth จะได้รับการยืนยัน ซึ่งอาจต้องใช้กระบวนการยืนยันที่ใช้เวลาหลายวัน

เพื่อแก้ไขคำเตือนนี้ ไปที่ Google API Platform หาก สถานะการเผยแพร่ เป็น ในโปรดักชัน ให้คลิก กลับไปทดสอบ เพื่อแก้ไขปัญหา

ไม่มีการเพิ่มผู้ใช้ทดสอบ

หากไม่มีการเพิ่มผู้ใช้ทดสอบลงใน หน้าจอความยินยอม OAuth จะมี ข้อผิดพลาด 403: access_denied ปรากฏขึ้น

เกิดข้อผิดพลาด 403 การเข้าถึงถูกปฏิเสธ

เพื่อแก้ไขข้อผิดพลาดนี้ ให้กลับไปที่ หน้าจอความยินยอม OAuth ภายใต้ APIs & Services และเพิ่มผู้ใช้ทดสอบในแอป เพิ่มอีเมลที่จะกำหนดค่าใน Odoo

ประเภทแอปพลิเคชัน

เมื่อสร้างข้อมูลประจำตัว (OAuth Client ID และ Client Secret) หากเลือก แอปเดสก์ท็อป สำหรับ ประเภทแอปพลิเคชัน จะปรากฏ ข้อผิดพลาดในการให้สิทธิ์ (ข้อผิดพลาด 400:redirect_uri_mismatch)

ข้อผิดพลาด 400 URI การเปลี่ยนเส้นทางไม่ตรงกัน

เพื่อแก้ไขข้อผิดพลาดนี้ ให้ลบข้อมูลประจำตัวที่มีอยู่ และสร้างข้อมูลประจำตัวใหม่ โดยเลือก เว็บแอปพลิเคชัน สำหรับ ประเภทแอปพลิเคชัน

จากนั้น ภายใต้ Authorized redirect URIs ให้คลิก ADD URI และพิมพ์: https://yourdbname.odoo.com/google_account/authentication ในฟิลด์ โดยต้องแน่ใจว่าได้แทนที่ yourdbname ใน URL ด้วยชื่อฐานข้อมูล Odoo จริง

Tip

ตรวจสอบให้แน่ใจว่าโดเมน (ที่ใช้ใน URI: https://yourdbname.odoo.com/google_account/authentication) เป็นโดเมนเดียวกันกับที่กำหนดค่าไว้ในพารามิเตอร์ระบบ web.base.url

เข้าถึง web.base.url โดยเปิดใช้งาน โหมดนักพัฒนา และไปที่ แอปการตั้งค่า ‣ เมนูส่วนหัวทางเทคนิค ‣ ส่วนพารามิเตอร์ ‣ พารามิเตอร์ระบบ