همگامسازی تقویم Google¶
Google Calendar را با Odoo همگام کنید تا جلسات را از هر دو پلتفرم ببینید و مدیریت کنید (بهروزرسانیها در هر دو جهت میروند). این یکپارچگی به سازماندهی برنامهها کمک میکند، تا یک جلسه هرگز از دست نرود.
راهاندازی در Google¶
انتخاب (یا ایجاد) یک پروژه¶
یک پروژهٔ Google API جدید ایجاد کنید و Google Calendar API را فعال کنید. ابتدا، به Google API Console بروید و وارد حساب Google شوید.
توجه
اگر این اولین بار است که از این صفحه بازدید میکنید، Google از کاربر میخواهد یک کشور وارد کند و با شرایط خدمات موافقت کند. یک کشور را از فهرست کشویی انتخاب کنید و با ToS موافقت کنید.
سپس، روی Select a project کلیک کنید و یک پروژهٔ API را برای پیکربندی OAuth در آن و ذخیرهٔ اعتبارنامهها انتخاب (یا ایجاد) کنید. روی New Project کلیک کنید.
یک نام روشن به پروژهٔ API بدهید، مانند Odoo Sync، تا قابل شناسایی باشد. سپس روی دکمهٔ ایجاد کلیک کنید.
فعالسازی API تقویم Google¶
اکنون، روی Enabled APIs and Services در منوی سمت چپ کلیک کنید. اگر جستجوی خط ظاهر نشد، دوباره Enabled APIs and Services را انتخاب کنید.
پس از آن، Google Calendar API را با استفاده از نوار جستجو جستجو کنید و Google Calendar API را از نتایج جستجو انتخاب کنید. روی Enable کلیک کنید.
صفحه رضایت OAuth¶
اکنون که پروژهٔ API ایجاد شده است، OAuth باید پیکربندی شود. برای انجام این کار، روی OAuth consent screen در منوی سمت چپ کلیک کنید، سپس روی دکمهٔ شروع کنید کلیک کنید.
هشدار
حسابهای Gmail شخصی فقط مجاز هستند نوع کاربر External باشند، که به این معناست که Google ممکن است نیاز به یک تأیید داشته باشد، یا برای Scopes اضافه شدن. با این حال، استفاده از یک حساب Google WorkSpace اجازه میدهد نوع کاربر Internal استفاده شود.
همچنین توجه داشته باشید که در حالی که اتصال API در حالت آزمایشی External است، هیچ تأییدی از Google لازم نیست. محدودیتهای کاربر در این حالت آزمایشی روی 100 کاربر تنظیم شده است.
مراحل پیشرو را بهترتیب دنبال کنید:
در App Information،
Odooرا در فیلد App name تایپ کنید، سپس آدرس ایمیل را برای فیلد User support email وارد کنید و روی دکمهٔ بعدی کلیک کنید.در مخاطبان، External را انتخاب کنید، سپس روی دکمهٔ بعدی کلیک کنید.
در اطلاعات تماس، ایمیل را دوباره وارد کنید، سپس روی دکمهٔ بعدی کلیک کنید.
در تمام، چکباکس را تیک بزنید تا با Google API Services: User Policy. موافقت کنید. برای مرحلهٔ آخر، روی دکمهٔ ایجاد کلیک کنید.
کاربران آزمایشی¶
برای دادن توانایی همگامسازی با حسابهای Gmail شخصی به کاربران، آنها باید بهعنوان کاربر آزمایشی تنظیم شوند. کاربران آزمایشی را با رفتن به مخاطبان در منوی سمت چپ و کلیک روی دکمهٔ Add users در بخش Test users تنظیم کنید. هر ایمیل کاربر موردنظر را وارد کنید و روی دکمهٔ ذخیره کلیک کنید.
ایجاد اعتبارنامهها¶
Client ID و Client Secret هر دو برای اتصال Google Calendar به Odoo موردنیاز هستند. این آخرین گام در کنسول Google است. با کلیک روی مشتریان در منوی سمت چپ شروع کنید. سپس، روی Create Credentials کلیک کنید و شناسه (ID) کلاینت OAuth را انتخاب کنید، Google یک راهنما برای ایجاد اعتبارنامهها باز خواهد کرد.
زیر ، وبسایت را برای فیلد Application Type انتخاب کنید و My Odoo Database را برای نام تایپ کنید.
زیر بخش Authorized JavaScript Origins، روی + Add URI کلیک کنید و آدرس کامل URL Odoo شرکت را تایپ کنید.
مهم
هنگام وارد کردن Authorized JavaScript Origins، باید URL دقیق پایگاه دادهٔ Odoo استفاده شود.
اگر پایگاه داده هم از طریق یک زیردامنهٔ .odoo.com و هم از طریق یک دامنهٔ سفارشی قابل دسترسی است، باید از دامنهٔ سفارشی پیکربندیشده بهعنوان دامنهٔ اصلی استفاده شود. زیردامنهٔ .odoo.com ممکن است در همهٔ موارد بهدرستی کار نکند و میتواند منجر به خطاهای احراز هویت شود.
زیر بخش Authorized redirect URIs، روی + Add URI کلیک کنید و آدرس URL Odoo شرکت را بههمراه
/google_account/authenticationتایپ کنید. در نهایت، روی ایجاد کلیک کنید.
یک شناسه Client ID و کلید محرمانه مشتری ظاهر خواهد شد، آنها را در جایی امن ذخیره کنید.
راهاندازی در Odoo¶
پس از یافتن Client ID و Client Secret، پایگاه دادهٔ Odoo را باز کنید و به بروید تا ویژگی تقویم گوگل را پیدا کنید. چکباکس برچسبخوردهٔ تقویم گوگل را تیک بزنید.
سپس، Client ID و Client Secret را از صفحهٔ اعتبارنامههای Google Calendar API کپی و در فیلدهای متناظرشان زیر چکباکس تقویم گوگل الصاق کنید. سپس، روی ذخیره کلیک کنید.
توجه
چکباکس توقف هماهنگسازی را تیک بزنید تا بهطور موقت از بهروزرسانی رویدادها متوقف شوید. این کار اجازهٔ آزمایش و عیبیابی را بدون حذف اعتبارنامهها یا حذف نصب همگامسازی میدهد. برای از سرگیری همگامسازی، چکباکس را پاک کنید و ذخیره کنید.
همگامسازی تقویم در Odoo¶
در نهایت، اپ را در Odoo باز کنید و روی دکمهٔ همگامسازی گوگل کلیک کنید تا Google Calendar با Odoo همگام شود.
توجه
هنگام همگامسازی Google Calendar با Odoo برای اولین بار، صفحه به حساب Google هدایت خواهد شد. از آنجا، Email Account که باید دسترسی داشته باشد را انتخاب کنید، سپس ادامه (در صورتی که اپ تأیید نشده باشد) را انتخاب کنید، و در نهایت ادامه (برای دادن مجوز انتقال دادهها) را انتخاب کنید.
اکنون، تقویم Odoo با موفقیت با Google Calendar همگام شده است!
هشدار
Odoo قویاً توصیه میکند پیش از تلاش برای همگامسازی Google Calendar موردنظر با پایگاه دادهٔ تولیدی کاربر، همگامسازی Google Calendar را روی یک پایگاه دادهٔ آزمایشی و یک آدرس ایمیل آزمایشی (که برای هیچ هدف دیگری استفاده نمیشود) آزمایش کنید.
هنگامی که یک کاربر تقویم Google خود را با تقویم Odoo همگام میکند:
ایجاد یک رویداد در Odoo باعث میشود Google یک دعوتنامه به همهٔ حاضران رویداد ارسال کند.
حذف یک رویداد در Odoo باعث میشود Google یک لغو به همهٔ حاضران رویداد ارسال کند.
افزودن یک مخاطب به یک رویداد باعث میشود Google یک دعوتنامه به همهٔ حاضران رویداد ارسال کند.
حذف یک مخاطب از یک رویداد باعث میشود Google یک لغو به همهٔ حاضران رویداد ارسال کند.
رویدادها را میتوان در Google Calendar بدون ارسال اعلان ایجاد کرد، با انتخاب Don't Send هنگامی که از شما خواسته میشود ایمیلهای دعوتنامه را ارسال کنید.
عیبیابی همگامسازی¶
ممکن است مواقعی پیش بیاید که حساب Google Calendar بهدرستی با Odoo همگام نشود. مسائل همگامسازی را میتوان در گزارشهای پایگاه داده مشاهده کرد.
در این موارد، حساب نیاز به عیبیابی دارد. یک بازنشانی را میتوان با استفاده از دکمهٔ تنظیم مجدد حساب انجام داد که با رفتن به قابل دسترسی است. سپس، کاربری را برای تغییر تقویم انتخاب کنید و روی تب گاهشمار کلیک کنید.
سپس، روی تنظیم مجدد حساب زیر تقویم صحیح کلیک کنید.
گزینههای بازنشانی¶
گزینههای بازنشانی زیر برای عیبیابی همگامسازی تقویم Google با Odoo در دسترس هستند:
رویدادهای موجود کاربر:
آنها را بدون تغییر نگه دارید: بدون تغییر در رویدادها.
حذف از حساب فعلی تقویم گوگل: رویدادها را از Google Calendar حذف کنید.
حذف از Odoo: رویدادها را از تقویم Odoo حذف کنید.
هر دو را حذف کنید: رویدادها را از هر دو Google Calendar و تقویم Odoo حذف کنید.
Synchronizations بعدی:
فقط رویدادهای جدید را همگامسازی کنید: رویدادهای جدید را در Google Calendar و/یا تقویم Odoo همگام کنید.
هماهنگسازی تمامی رویدادهای موجود: همهٔ رویدادها را در Google Calendar و/یا تقویم Odoo همگام کنید.
پس از انجام انتخاب، روی تایید کلیک کنید تا رویدادهای کاربر و همگامسازی تقویم تغییر کند.
پرسشهای متداول OAuth Google¶
گاهی اوقات ممکن است خطاهای پیکربندی رخ دهد و برای حل مسئله، عیبیابی موردنیاز است. در زیر متداولترین خطاهایی که ممکن است هنگام پیکربندی Google Calendar برای استفاده با Odoo رخ دهند، آمده است.
وضعیت انتشار تولید در برابر آزمایشی¶
انتخاب تولید بهعنوان Publishing Status (بهجای Testing) پیام هشدار زیر را نمایش میدهد:
تا زمانی که صفحهٔ رضایت OAuth تأیید نشده باشد، OAuth به ۱۰۰ ورود با دامنهٔ حساس محدود است. این ممکن است نیازمند فرایند تأییدی باشد که چند روز زمان میبرد.
برای اصلاح این هشدار، به Google API Platform بروید. اگر Publishing Status برابر با In Production است، روی Back to Testing کلیک کنید تا مسئله اصلاح شود.
هیچ کاربر آزمایشیای اضافه نشده است¶
اگر هیچ کاربر آزمایشیای به OAuth consent screen اضافه نشده باشد، یک Error 403: access_denied ظاهر میشود.
برای اصلاح این خطا، به OAuth consent screen زیر APIs & Services بازگردید و کاربران آزمایشی را به اپ اضافه کنید. ایمیلی را که قرار است در Odoo پیکربندی شود، اضافه کنید.
نوع اپلیکیشن¶
هنگام ایجاد اعتبارنامهها (OAuth Client ID و Client Secret)، اگر دسکتاپ برای Application Type انتخاب شود، یک Authorization Error ظاهر میشود (Error 400:redirect_uri_mismatch).
برای اصلاح این خطا، اعتبارنامههای موجود را حذف کنید و با انتخاب Web Application برای Application Type، اعتبارنامههای جدید ایجاد کنید.
سپس، زیر Authorized redirect URIs، روی ADD URI کلیک کنید و https://yourdbname.odoo.com/google_account/authentication را در فیلد تایپ کنید، با اطمینان از جایگزینی yourdbname در URL با نام واقعی پایگاه دادهٔ Odoo.
نکته
اطمینان حاصل کنید که دامنه (استفادهشده در URI: https://yourdbname.odoo.com/google_account/authentication) دقیقاً همان دامنهٔ پیکربندیشده در پارامتر سامانهای web.base.url است.
با فعالسازی developer mode و رفتن به ، به web.base.url دسترسی پیدا کنید.