受信メールを処理し、受信者が社内ソフトウェアとやり取りできるようにするために、社内の Gmail 拡張機能を開発する必要があります。Gmail Contextual Gadget で OAuth 2.0 を使用する方法を理解しようとしていますが、これに関する特定のドキュメントが見つかりません。contextual + google-oauth (Google 推奨のキーワード) でスタック オーバーフローを検索しても、役立つものは見つかりませんでした。
標準ページを提供する前に、これがあることを確認してください。
- 最低限、OAuth 2.0 を使用する Gmail コンテキスト ガジェット manifest.xml の例
- 理想的には、ドメイン (マーケットプレイスではない) に展開する方法の説明があるため、実際に展開およびテストされていることがわかります。
たとえば、Contextual Gadgets ページの標準の hello の例は、OpenID (「openIdRealm」) を使用しており、OAuth 2.0 より前に記述されています。
OpenID は OAuth 2.0 では許可されていません:
https://developers.google.com/apps-marketplace/practices#3_use_oauth20
アプリケーションで OpenID または OAuth1.0 を使用しないでください。そのような使用の証拠は、アプリケーションが審査プロセスに失敗するという結果になります。
Contextual Gadget はクライアント側の Javascript アプリであり、Web サーバー アプリやインストール済みアプリとは大きく異なることに注意してください。したがって、OAuth 2.0 は次のように使用する必要があります。
https://developers.google.com/accounts/docs/OAuth2#clientside https://developers.google.com/accounts/docs/OAuth2UserAgent
しかし、コンテキスト ガジェットはコンテナー内で実行され、OAuth の最初の呼び出し (トークンを使用して Web サイトをコールバックする Google 呼び出しなど) を処理します。クライアント側に存在するコンテキスト ガジェットは、「秘密を保持することはできません」。私たちの Web サイト (リダイレクト ページ、https://example.com/oauth2callback ) は、クライアント側のガジェット コードにアクセスできるセッションにアクセス トークン (および場合によっては更新トークン) を保存する必要があります。
私は理想的には SSO を使用しません。これは、「市場に展開されたアプリケーションにのみ必要」であることがわかります。代替の導入は、Google Apps Extensions Consoleを使用する「ドメイン向け」です。
https://developers.google.com/google-apps/extensions-console/
しかし、拡張コンソールには、「ユーザーエクスペリエンスを改善しています。新しい開発者コンソールを試してください」と表示され、次のリンクにリンクしています。
開発者コンソール:
- アプリ拡張コンソールで以前に作成されたプロジェクトが表示されます。それをクリックして大きなメニューを開くことができます(脇、左側にあります)
- API & Auth / Credentials -- アプリのクライアント ID とシークレットを作成しました。どうやら、サービス アカウントやインストール済みアプリではなく、Web アプリを使用する必要があるようです。これは、Google サービスだけでなく、ユーザーのプライベート データ (メール アクセス) にアクセスしようとしており、スタンドアロンのインストール済みアプリではないためです。
コンテキスト ガジェットのどこにも、このクライアント ID を報告する場所はありません。それは登録して忘れますか?
また (バグ?)、サービス アカウント資格情報を作成していないにもかかわらず、パーミッションは「サービス アカウント」の下にクライアント ID を表示します。
次に、この新しい開発者コンソールからコンテキスト ガジェット (スタンドアロン アプリではない) をドメインにデプロイする方法がわかりません。左側の [概要] タブと [コンピューティング] タブの下には、クラウド展開関連のオプションしかないようです。
Apps Extensions コンソール (非推奨ではなく、改善されていると思われる) からデプロイしようとすると、次のエラーが表示されます。
Google Apps Marketplace (I never deployed to marketplace, only my own domain)
Application installation not allowed.
The OAuth1.0 version is no longer available.
Instead, try installing the OAuth2.0 version.
[Return to dashboard] (button)
さらに、[ダッシュボードに戻る] ボタンをクリックすると、開発も展開も許可されていないドメイン管理サイトに移動します。
ところで、Apps Extensions Console は私が作成したリダイレクト ページにアクセスすることはなく、私のサイトのガジェット仕様ファイルを読み取ることもありません (約束どおり Google によってアクセスされることはありません)。 OAuth 2.0 を使用してください... または、Apps Extensions Console 自体がそれを使用せず、私を責めます!
したがって、Gmail Contextual App:
- 非推奨?
- 今は無理?
- OAuth 2.0 で承認されていますか? どのように?