การซิงโครไนซ์ Google Calendar¶
ซิงโครไนซ์ Google Calendar กับ Odoo เพื่อดูและจัดการการประชุมจากทั้งสองแพลตฟอร์ม (การอัปเดตเป็นไปในทั้งสองทิศทาง) การบูรณาการนี้ช่วยจัดระเบียบตารางเวลา เพื่อไม่พลาดการประชุมใดๆ
ตั้งค่าใน Google¶
เลือก (หรือสร้าง) โปรเจ็กต์¶
สร้างโปรเจ็กต์ Google API ใหม่และเปิดใช้งาน Google Calendar API ขั้นแรก ไปที่ คอนโซล Google API และลงชื่อเข้าใช้บัญชี Google
Note
หากเป็นครั้งแรกที่เข้าชมหน้านี้ Google จะแจ้งให้ผู้ใช้ป้อนประเทศและยอมรับข้อกำหนดในการให้บริการ เลือกประเทศจากรายการแบบเลื่อนลงและยอมรับ ToS
จากนั้นคลิก เลือกโปรเจ็กต์ และเลือก (หรือสร้าง) โปรเจ็กต์ API เพื่อกำหนดค่า OAuth และจัดเก็บข้อมูลประจำตัว คลิก โปรเจ็กต์ใหม่
ตั้งชื่อโปรเจกต์ API ให้ชัดเจน เช่น Odoo Sync เพื่อให้สามารถระบุได้ จากนั้นคลิกปุ่ม สร้าง
เปิดใช้งาน Google calendar API¶
จากนั้น คลิกที่ Enabled APIs and Services ในเมนูด้านซ้าย เลือก Enabled APIs and Services อีกครั้งหาก แถบค้นหา ไม่ปรากฏ
หลังจากนั้น ค้นหา Google Calendar API โดยใช้แถบค้นหาและเลือก Google Calendar API จากผลการค้นหา คลิก เปิดใช้งาน
หน้าจอยินยอม OAuth¶
เมื่อสร้างโปรเจกต์ API แล้ว ควรกำหนดค่า OAuth โดยคลิกที่ OAuth consent screen ในเมนูด้านซ้าย จากนั้นคลิกปุ่ม เริ่มต้น
Warning
บัญชี Gmail ส่วนตัว อนุญาตให้เป็นประเภทผู้ใช้ ภายนอก เท่านั้น ซึ่งหมายความว่า Google อาจต้องได้รับการอนุมัติหรือต้องเพิ่ม ขอบเขต อย่างไรก็ตาม การใช้บัญชี Google WorkSpace จะอนุญาตให้ใช้ประเภทผู้ใช้ ภายใน ได้
โปรดทราบว่าแม้ว่าการเชื่อมต่อ API จะอยู่ในโหมดการทดสอบ ภายนอก ก็ไม่จำเป็นต้องได้รับการอนุมัติจาก Google ขีดจำกัดผู้ใช้ในโหมดการทดสอบนี้ตั้งไว้ที่ผู้ใช้ 100 คน
ปฏิบัติตามขั้นตอนต่อไปนี้ตามลำดับ:
ใน App Information พิมพ์
Odooในฟิลด์ App name จากนั้นป้อนที่อยู่อีเมลสำหรับฟิลด์ User support email และคลิกปุ่ม ถัดไปใน Audience เลือก External จากนั้นคลิกปุ่ม ถัดไป
ใน Contact Information ป้อนอีเมลอีกครั้ง จากนั้นคลิกปุ่ม ถัดไป
ใน Finish ทำเครื่องหมายในช่องเพื่อยอมรับ Google API Services: User Policy. สำหรับขั้นตอนสุดท้าย คลิกปุ่ม สร้าง
ผู้ใช้ทดสอบ¶
เพื่อให้ผู้ใช้สามารถซิงค์กับบัญชี 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
:guilabel:`Client ID`และ:guilabel:`Client Secret`จะปรากฏขึ้น ให้บันทึกไว้ในที่ปลอดภัย
ตั้งค่าใน Odoo¶
เมื่อพบ Client ID และ Client Secret แล้ว ให้เปิดฐานข้อมูล Odoo และไปที่:menuselection:Settings --> Calendar`เพื่อค้นหาฟีเจอร์:guilabel:`Google Calendar ทำเครื่องหมายในช่องที่มีป้ายกำกับ:guilabel: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
Note
เมื่อซิงค์ Google Calendar กับ Odoo เป็นครั้งแรก หน้าจะเปลี่ยนเส้นทางไปยังบัญชี Google จากนั้น ให้เลือก:guilabel:Email Account`ที่ควรมีสิทธิ์เข้าถึง จากนั้นเลือก:guilabel:`Continue (หากแอปไม่ได้รับการยืนยัน) และสุดท้ายเลือก:guilabel:Continue (เพื่ออนุญาตให้มีการถ่ายโอนข้อมูล)
ตอนนี้ ปฏิทิน 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 ซึ่งสามารถเข้าถึงได้โดยไปที่ จากนั้น เลือกผู้ใช้เพื่อแก้ไขปฏิทิน และคลิกแท็บ ปฏิทิน
จากนั้น คลิก Reset Account ภายใต้ปฏิทินที่ถูกต้อง
ตัวเลือกการรีเซ็ต¶
ตัวเลือกการรีเซ็ตต่อไปนี้สามารถใช้ได้สำหรับการแก้ไขปัญหาการซิงค์ปฏิทิน Google กับ 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 ปรากฏขึ้น
เพื่อแก้ไขข้อผิดพลาดนี้ ให้กลับไปที่ หน้าจอความยินยอม OAuth ภายใต้ APIs & Services และเพิ่มผู้ใช้ทดสอบในแอป เพิ่มอีเมลที่จะกำหนดค่าใน Odoo
ประเภทแอปพลิเคชัน¶
เมื่อสร้างข้อมูลประจำตัว (OAuth Client ID และ Client Secret) หากเลือก แอปเดสก์ท็อป สำหรับ ประเภทแอปพลิเคชัน จะปรากฏ ข้อผิดพลาดในการให้สิทธิ์ (ข้อผิดพลาด 400:redirect_uri_mismatch)
เพื่อแก้ไขข้อผิดพลาดนี้ ให้ลบข้อมูลประจำตัวที่มีอยู่ และสร้างข้อมูลประจำตัวใหม่ โดยเลือก เว็บแอปพลิเคชัน สำหรับ ประเภทแอปพลิเคชัน
จากนั้น ภายใต้ 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 โดยเปิดใช้งาน โหมดนักพัฒนา และไปที่