اتصال Gmail به Odoo با استفاده از Google OAuth¶
Odoo با Google OAuth برای Gmail سازگار است. برای ارسال ایمیلهای امن از یک دامنهٔ سفارشی، تنها چیزی که لازم است، پیکربندی چند تنظیم در پلتفرم Workspace Google و همچنین در بکاند پایگاه دادهٔ Odoo است. این پیکربندی با استفاده از یک آدرس ایمیل شخصی یا یک آدرس ایجادشده توسط یک دامنهٔ سفارشی کار میکند.
نکته
برای اطلاعات بیشتر، به مستندات گوگل دربارهٔ راهاندازی OAuth مراجعه کنید.
همچنین ببینید
راهاندازی در Google¶
ایجاد یک پروژهٔ جدید¶
برای شروع، به Google API Console بروید. اگر حساب Google Workspace دارید با آن وارد شوید، در غیر این صورت با حساب شخصی Gmail خود وارد شوید (این باید با آدرس ایمیلی که میخواهید در Odoo پیکربندی کنید مطابقت داشته باشد).
پس از آن، روی ایجاد پروژه که در سمت راست OAuth consent screen قرار دارد کلیک کنید. اگر قبلاً یک پروژه در این حساب ایجاد شده است، گزینهٔ New Project در سمت راست بالا زیر منوی کشویی Select a project قرار خواهد گرفت.
در صفحهٔ ، نام پروژه را به Odoo تغییر نام دهید و برای مکان جستجو کنید. مکان را بهعنوان Google Workspace organization تنظیم کنید. اگر از یک حساب شخصی Gmail استفاده میکنید، مکان را بهعنوان No Organization رها کنید.
برای پایان دادن به این مرحله روی ایجاد کلیک کنید.
صفحه رضایت OAuth¶
اگر صفحه به گزینههای هدایت نشد، روی OAuth consent screen در منوی سمت چپ کلیک کنید.
زیر گزینههای نوع کاربر، نوع کاربر مناسب را انتخاب کنید و سپس دوباره روی ایجاد کلیک کنید، که در نهایت به صفحهٔ هدایت میشود.
هشدار
حسابهای Personal Gmail فقط مجاز به User Type External هستند، که به این معنی است که Google ممکن است نیاز به تأیید داشته باشد یا Scopes اضافه شود. با این حال، استفاده از یک حساب Google WorkSpace امکان استفاده از User Type Internal را فراهم میکند.
همچنین توجه داشته باشید که در حالی که اتصال API در حالت تست External است، نیازی به تأیید از سوی Google نیست. سقف کاربر در این حالت تست به 100 کاربر تنظیم شده است.
ویرایش ثبت اپلیکیشن¶
در ادامه app registration پروژه را پیکربندی خواهیم کرد.
در مرحلهٔ OAuth consent screen، در بخش App information، Odoo را در فیلد App name وارد کنید. آدرس ایمیل سازمان را در فیلد ایمیل User support انتخاب کنید.
در ادامه، در ، روی Add Domain کلیک کنید و odoo.com را وارد کنید.
پس از آن، در بخش Developer contact information، آدرس ایمیل سازمان را وارد کنید. Google از این آدرس ایمیل برای اطلاعرسانی به سازمان دربارهٔ هرگونه تغییر در پروژهٔ شما استفاده میکند.
در ادامه، روی دکمهٔ Save and Continue کلیک کنید. سپس، صفحهٔ را با اسکرول به پایین و کلیک روی Save and Continue رد کنید.
اگر در حالت تست (External) ادامه میدهید، آدرسهای ایمیل در حال پیکربندی را در مرحلهٔ Test users با کلیک روی Add Users و سپس دکمهٔ Save and Continue اضافه کنید. یک خلاصه از app registration ظاهر میشود.
در نهایت، به پایین اسکرول کنید و روی Back to Dashboard کلیک کنید تا راهاندازی پروژه را به پایان برسانید.
ایجاد Credentials¶
اکنون که پروژه راهاندازی شده است، باید credentialsها ایجاد شوند که شامل Client ID و Client Secret است. ابتدا، روی اعتبارنامهها در منوی نوار کناری سمت چپ کلیک کنید.
سپس، روی Create Credentials در منوی بالا کلیک کنید و شناسه (ID) کلاینت OAuth را از منوی کشویی انتخاب کنید.
زیر Application Type، Web Application را از منوی کشویی انتخاب کنید.
در فیلد نام،
Odooرا وارد کنید.زیر برچسب Authorized redirect URIs، روی دکمهٔ ADD URI کلیک کنید و سپس
https://yourdbname.odoo.com/google_gmail/confirmرا در فیلد URIs 1 وارد کنید. مطمئن شوید بخش yourdbname از URL را با نام واقعی پایگاه دادهٔ Odoo جایگزین کنید.در ادامه، روی ایجاد کلیک کنید تا یک OAuth شناسه Client ID و کلید محرمانه مشتری تولید شود. در نهایت، هر مقدار تولیدشده را برای استفادهٔ بعدی هنگام پیکربندی در Odoo کپی کنید و سپس به پایگاه دادهٔ Odoo بروید.
راهاندازی در Odoo¶
وارد کردن Credentials Google¶
ابتدا، Odoo را باز کنید و به ماژول برنامهها بروید. سپس، فیلتر برنامهها را از نوار جستجو حذف کنید و Google را تایپ کنید. ماژولی به نام Google Gmail را نصب کنید.
در ادامه، به بروید و در بخش چت، مطمئن شوید چکباکس Custom Email Servers یا External Email Servers تیک خورده است. این کار یک گزینهٔ جدید برای Gmail Credentials یا Use a Gmail Sever پر میکند. سپس، مقادیر مربوطه را کپی و در فیلدهای شناسه Client ID و کلید محرمانه مشتری پیست کنید و تنظیمات را ذخیره کنید.
پیکربندی سرور ایمیل خروجی¶
برای پیکربندی حساب Gmail خارجی، به بالای تنظیمات Custom Email Servers بازگردید و سپس روی پیوند سرورهای ایمیل خروجی کلیک کنید.
سپس، روی جدید یا ایجاد کلیک کنید تا یک سرور ایمیل جدید ایجاد کنید و نام، توضیحات و نام کاربری ایمیل (در صورت لزوم) را پر کنید.
در ادامه، روی احراز هویت OAuth جیمیل یا Gmail (زیر بخش با استفاده از <b>پذیرش اعتبار</b> یا اتصال) کلیک کنید. در نهایت، روی Connect your Gmail Account کلیک کنید.
یک پنجرهٔ جدید با عنوان گوگل برای تکمیل فرآیند مجوزدهی باز میشود. آدرس ایمیل مناسبی که در Odoo پیکربندی میشود را انتخاب کنید.
اگر آدرس ایمیل یک حساب شخصی است، یک مرحلهٔ اضافی ظاهر میشود، بنابراین روی ادامه کلیک کنید تا اعتبارسنجی انجام شود و حساب Gmail به Odoo متصل شود.
سپس، اجازه دهید Odoo با کلیک روی ادامه یا اجازه دهید به حساب Google دسترسی پیدا کند. پس از آن، صفحه به سرور ایمیل خروجی تازه پیکربندیشده در Odoo بازمیگردد. پیکربندی بهطور خودکار token را در Odoo بارگذاری میکند و یک برچسب با عنوان Gmail Token Valid به رنگ سبز ظاهر میشود.
در نهایت، Test the Connection. یک پیام تأیید باید ظاهر شود. پایگاه دادهٔ Odoo اکنون میتواند ایمیلهای ایمن و امن را از طریق Google با استفاده از احراز هویت OAuth ارسال کند.
پرسشهای متداول Google OAuth¶
وضعیت انتشار Production در مقابل Testing¶
انتخاب تولید بهعنوان Publishing Status (بهجای Testing) پیام هشدار زیر را نمایش میدهد:
برای رفع این هشدار، به Google API Platform بروید. اگر Publishing status برابر با In Production است، روی Back to Testing کلیک کنید تا مشکل برطرف شود.
هیچ کاربر آزمایشیای اضافه نشده است¶
اگر هیچ test userای به OAuth consent screen اضافه نشده باشد، یک خطای access denied با کد 403 پر میشود.
برای رفع این خطا، به OAuth consent screen زیر APIs & Services بازگردید و test user(ها) را به اپ اضافه کنید. ایمیلی را که در Odoo پیکربندی میکنید اضافه کنید.
ماژول Gmail بهروزرسانی نشده است¶
اگر ماژول Google Gmail در Odoo به آخرین نسخه بهروزرسانی نشده باشد، یک پیام خطای Forbidden پر میشود.
برای رفع این خطا، به ماژول بروید و عبارات جستجو را پاک کنید. سپس Gmail یا Google را جستجو کنید و ماژول Google Gmail را ارتقا دهید. در نهایت، روی سه نقطه در بالا سمت راست ماژول کلیک کنید و ارتقا را انتخاب کنید.
نوع اپلیکیشن¶
هنگام ایجاد credentialsها (OAuth Client ID و Client Secret)، اگر دسکتاپ برای Application Type انتخاب شود، یک Authorization Error ظاهر میشود.
برای رفع این خطا، credentialsهای قبلاً ایجادشده را حذف کنید و credentialsهای جدید ایجاد کنید و Web Application را برای Application Type انتخاب کنید. سپس، در Authorized redirect URIs، روی ADD URI کلیک کنید و در فیلد تایپ کنید: https://yourdbname.odoo.com/google_gmail/confirm و مطمئن شوید که yourdbname در URL را با نام پایگاه دادهٔ Odoo جایگزین کنید.