Google OAuthを使用してGmailをOdooに接続する

Odooは、GoogleのGmail用OAuthと互換性があります。カスタムドメインから安全なEメールを送信するには、Googleの Workspace プラットフォームとOdooデータベースのバックエンドで、いくつかの設定を行うだけで済みます。この設定は、個人用メールアドレスまたはカスタムドメインで作成されたアドレスを使用して機能します。

ちなみに

さらに詳しくはOAuth設定の Googleドキュメント をご覧下さい。

Googleでの設定

新規プロジェクトを作成

まず、Google APIコンソール にアクセスします。Google Workspace アカウントをお持ちの場合は、そのアカウントでログインして下さい。お持ちでない場合は、個人用Gmailアカウントでログインして下さい(これは、Odooで設定するEメールアドレスと一致している必要があります)。

その後、OAuth 同意画面 の右端にある プロジェクト作成 をクリックします。このアカウントでプロジェクトがすでに作成されている場合は、新規プロジェクト オプションが プロジェクトを選択 ドロップダウンメニューの下の右上に表示されます。

新規プロジェクト 画面で、プロジェクト名 を Odoo に変更し、ロケーション を参照します。ロケーション を Google Workspace 組織 に設定します。個人用 Gmail アカウントを使用している場合は、ロケーション を 組織なし のままにしておきます。

Google OAuth用プロジェクト名とロケーション

このステップを完了するには、作成 をクリックします。

アプリ登録を編集

次に、プロジェクトのアプリ登録を設定します。

OAuth 同意画面 の手順で、アプリ情報 セクションの アプリ名 フィールドに Odoo と入力します。ユーザサポート のEメールフィールドで、組織のEメールアドレスを選択します。

次に、アプリドメイン ‣ 承認済ドメイン で、 ドメイン追加 をクリックし odoo.com を入力します。

その後、開発者連絡先情報 セクションで、組織のEメールアドレスを入力します。Googleは、このEメールアドレスを使用して、プロジェクトに変更があったことを組織に通知します。

次に、保存して続行 ボタンをクリックします。次に、スコープ ページをスクロールして一番下まで移動し、保存して続行 をクリックしてスキップします。

テストモード (外部) を継続する場合は、テストユーザ の段階で設定したEメールアドレスを、ユーザを追加 をクリックし、保存して続行 ボタンをクリックして追加します。アプリ登録の概要が表示されます。

最後に、一番下までスクロールし、ダッシュボードに戻る をクリックしてプロジェクトの設定を完了します。

認証情報の作成

プロジェクトの設定が完了したので、Client ID と Client Secret を含む認証情報を作成します。まず、左サイドバーメニューの:guilabel:認証情報 をクリックします。

次に、トップメニューの 認証情報の作成 をクリックし、ドロップダウンメニューから OAuthClient ID を選択します。

  • アプリケーションタイプ の下にあるドロップダウンメニューから、ウェブアプリケーション を選択します。

  • 名前 フィールドで Odoo を入力します。

  • 承認済みのリダイレクトURI のラベルの下にある URIを追加 ボタンをクリックし、URIs 1 フィールドに https://yourdbname.odoo.com/google_gmail/confirm と入力します。 URL の yourdbname 部分は、実際の Odoo データベース名に置換えて下さい。

  • 次に、作成 をクリックして、OAuth の Client ID と Client Secret を生成します。最後に、Odoo の設定時に使用するために、生成された各値をコピーし、Odoo データベースに移動します。

Google OAuth用のClient IDとClient Secret

Odooでのセットアップ

Google認証情報を入力する

まず、Odooを開き、アプリ モジュールに移動します。次に、検索バーから アプリ フィルタを削除し、Google`と入力します。:guilabel:`Google Gmail モジュールをインストールします。

次に、管理設定 ‣ 一般設定 に移動し、 ディスカス セクションで、カスタムEメールサーバ または 外部メールサーバ のチェックボックスがオンになっていることを確認します。これにより、Gmail認証情報 または Gmailサーバを使用 の新しいオプションが有効になります。次に、それぞれの値を Client ID および Client Secret フィールドにコピー&ペーストし、設定を 保存 します。

送信メールサーバの設定

外部Gmailアカウントを設定するには、カスタムEメールサーバ 設定の一番上に戻り、送信メールサーバ リンクをクリックします。

Odooで送信Eメールサーバを設定します。

次に、新規作成 または:guilabel:作成 をクリックして新しいEメールサーバを作成し、名前、説明、Eメールの:guilabel:ユーザ名 (必要な場合)を入力します。

次に、Gmail OAuth認証 または Gmail`(:guilabel:`認証 または 接続 セクションの下) をクリックします。最後に、Gmailアカウントを接続 をクリックします。

Google とラベル付けされた新しいウィンドウが開き、認証プロセスが完了します。Odooで設定されている適切なEメールアドレスを選択します。

メールアドレスが個人アカウントの場合、追加のステップがポップアップ表示されます。続行 をクリックして、検証を許可し、GmailアカウントをOdooに接続します。

次に、続行 または 許可 をクリックして、OdooにGoogleアカウントへのアクセスを許可します。その後、ページはOdooで新たに設定された送信メールサーバに移動します。設定によりOdooにトークンが自動的に読み込まれ、:guilabel:`Gmail トークン有効`というタグが緑色で表示されます。

Odooで送信Eメールサーバを設定します。

最後に、接続テスト をクリックします。確認メッセージが表示されます。これで、OdooデータベースはOAuth認証を使用してGoogleを通じて安全なEメールを送信できるようになりました。

Google OAuth FAQ

公開ステータス 本番 VS テスト環境

本番 を 公開ステータス (テスト) として選択すると以下の警告が表示されます:

OAuthは、機密性の高いスコープのログインを100件に制限しています。

この警告を修正するには、Google APIプラットフォーム に移動します。公開ステータス が 本番環境 になっている場合は、テスト環境に戻る をクリックして問題を修正します。

テストユーザが追加されていません

OAuthの同意画面にテストユーザが追加されていない場合、403アクセス拒否エラーが表示されます。

403アクセス拒否エラー。

このエラーを修正するには、API & サービス の OAuth 同意画面 に戻り、テストユーザをアプリに追加します。Odooで設定しているEメールを追加します。

Gmailモジュールが更新されていません

Odooの Google Gmail モジュールが最新バージョンに更新されていない場合、Forbidden エラーメッセージが表示されます。

Forbidden アクセス許可がないため、要求されたリソースにアクセスできません。

このエラーを修正するには、アプリ モジュールに移動して検索語句を消去します。次に、Gmail または Google を検索し、Google Gmail モジュールを更新します。最後に、モジュール右上の3つの点をクリックし、更新 を選択します。

アプリケーションタイプ

認証情報 (OAuthの Client ID および Client Secret)を作成する際、アプリケーションタイプ に:guilabel:デスクトップアプリ を選択すると、認証エラー が表示されます。

エラー400 リダイレクトURI不一致。

このエラーを修正するには、すでに作成済みの認証情報を削除し、新しい認証情報を作成します。アプリケーションタイプ`として:guilabel:`ウェブアプリケーション を選択します。次に 認証済のリダイレクトURI の下で URI追加 をクリックし、: https://yourdbname.odoo.com/google_gmail/confirm と入力します。URL内の yourdbname をOdooデータベース名に置換えることを忘れないで下さい。