問題タブ [gmail-contextual-gadgets]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
3157 参照

oauth-2.0 - Gmail Contextual Gadget (Gmail プラグイン/拡張機能): 非推奨ですか? 不可能?どのように?(OAuth 2.0 はできません)

受信メールを処理し、受信者が社内ソフトウェアとやり取りできるようにするために、社内の 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 より前に記述されています。

https://developers.google.com/gmail/contextual_gadgets

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/

しかし、拡張コンソールには、「ユーザーエクスペリエンスを改善しています。新しい開発者コンソールを試してください」と表示され、次のリンクにリンクしています。

https://console.developers.google.com/?redirected=true

開発者コンソール:

  • アプリ拡張コンソールで以前に作成されたプロジェクトが表示されます。それをクリックして大きなメニューを開くことができます(脇、左側にあります)
  • API & Auth / Credentials -- アプリのクライアント ID とシークレットを作成しました。どうやら、サービス アカウントやインストール済みアプリではなく、Web アプリを使用する必要があるようです。これは、Google サービスだけでなく、ユーザーのプライベート データ (メール アクセス) にアクセスしようとしており、スタンドアロンのインストール済みアプリではないためです。

コンテキスト ガジェットのどこにも、このクライアント ID を報告する場所はありません。それは登録して忘れますか?

また (バグ?)、サービス アカウント資格情報を作成していないにもかかわらず、パーミッションは「サービス アカウント」の下にクライアント ID を表示します。

次に、この新しい開発者コンソールからコンテキスト ガジェット (スタンドアロン アプリではない) をドメインにデプロイする方法がわかりません。左側の [概要] タブと [コンピューティング] タブの下には、クラウド展開関連のオプションしかないようです。

Apps Extensions コンソール (非推奨ではなく、改善されていると思われる) からデプロイしようとすると、次のエラーが表示されます。

さらに、[ダッシュボードに戻る] ボタンをクリックすると、開発も展開も許可されていないドメイン管理サイトに移動します。

https://admin.google.com/mydomain.com/

ところで、Apps Extensions Console は私が作成したリダイレクト ページにアクセスすることはなく、私のサイトのガジェット仕様ファイルを読み取ることもありません (約束どおり Google によってアクセスされることはありません)。 OAuth 2.0 を使用してください... または、Apps Extensions Console 自体がそれを使用せず、私を責めます!

したがって、Gmail Contextual App:

  • 非推奨?
  • 今は無理?
  • OAuth 2.0 で承認されていますか? どのように?
0 投票する
0 に答える
86 参照

google-apps-marketplace - Gmail Contextual Gadget が長い会話モード メッセージで失敗する

Google Gadget が長い会話で失敗していることに気付いています。

場合によっては、長い会話でガジェットがまったく表示されないことがあります。他のケースでは、エクストラクタの一部しか利用できませんが、ガジェットは表示されます。

注:- これは長い会話でのみ発生します。

私は、他の人がこの行動を確認/否定できることを望んでいました.

これを行うには、Gmail の長い会話を開いて、ガジェットが期待どおりに動作しているかどうかを確認するだけです。

ご協力いただきありがとうございます。


18/10 を編集

私はこの問題についてさらに掘り下げました。ガジェットをデバッグすると、一致する配列には最初の 2 つの値しかありませんが、仕様では 6 が定義されています。

一致する[2]

マッチ[0] = date_sent

マッチ[1] = date_received

そのため、何らかの理由で、Google によって入力された一致配列が完全ではありません。短い会話では、6 つの一致値すべてが入力されます....

一致する[6]

マッチ[0] = date_sent

マッチ[1] = date_received

マッチ[2] = message_id

マッチ[3] = recipient_to_email

マッチ[4] =件名

マッチ[5] =送信者_電子メール

0 投票する
1 に答える
65 参照

google-apps-marketplace - プライベート ガジェットを特定の OU に制限する

Gmail Contextual Gadgets のドキュメントを読みましたが、プライベート ガジェットを特定の OU にデプロイできるかどうか、または組織全体で有効にする必要があるかどうかについての情報が見つかりません。ガジェットを Marketplace に公開すれば、これを実行できるように見えますが、このシナリオでは、ガジェットが Marketplace アプリとしての資格を得るのに十分な機能を提供しない可能性があります。

0 投票する
1 に答える
88 参照

google-gadget - Gmail コンテキスト ガジェットのドメイン名

Gmail Contextual Gadget を作成しています。

ガジェットxmlなどを使用してドメイン名を渡す方法はありますか

ドメイン=${DOMAIN_NAME}

APIを使用してドメイン名を取得する他の方法はありますか?

複数の CRM クライアントがあり、ドメイン名に基づいてクライアント DB を接続したいと考えています。

0 投票する
1 に答える
117 参照

gmail - Gmail 機能を作成する最良の方法は何ですか?

返信がなかったメールを追跡する Gmail の「機能」を作成したいと考えています。送信されたすべての電子メールの返信を毎日チェックし、返信がなかったメールを特別なフォルダーにリストするか、簡単に確認できるようにタグを追加します。

私はすでにスクリプトを見つけましたが、経験のないユーザーのアカウントにセルフサービスの方法で追加するのは簡単ではありません (スクリプトをダウンロードして「インストール」する必要があります)。さらに、頻繁にクラッシュします。チェックできるメールの量が Gmail によって制限されているようです。

私はそれを自分で開発するつもりはありませんが、適切なタイプの開発者を探すことができるように、それを開発するための最良の方法 (プログラミング言語など) についてあなたの意見に興味があります。

3月、ベスト

0 投票する
1 に答える
91 参照

widget - gmail ではカスタム ウィジェットを使用できますか?..もしそうなら、それを達成するためのロード マップは何ですか?

カスタム ウィジェットを使用して、salesforce から gmail にデータをインポートしたいと考えています。どうやってするの?

0 投票する
1 に答える
302 参照

gmail-api - gmail アドオンでメールの内容を操作する

こんにちは、gmail 内でメールを読んだときにメールの内容を操作する gmail 用のプラグインを開発しようとしています。

具体的には、メール メッセージ内の特定の単語を変更したいと考えています。

電子メール メッセージを取得し、メッセージを文字列として操作できるプラグインを既に開発しましたが、再表示する方法がわかりません。

これは可能ですか?その場合、どの API を使用する必要がありますか?

0 投票する
1 に答える
227 参照

google-apps-marketplace - Gmail Contextual Gadget で SIGNED 認証タイプを実装する方法

既存のコードから社内の Gmail コンテキスト ガジェットをデプロイしています。このドキュメントを参照して、Google Apps ドメインにガジェットをデプロイしました: https://developers.google.com/apps-marketplace/preparing

しかし、ここでresponse.rcは常にステータス コード 500 を返します。また、 gadgets.io.makeRequest()関数は URL (appengine でホストされているアプリケーション) に対して要求を行いません。の問題のようSIGNED Authorizationです。SIGNED AuthorizationGmailガジェットに実装するには?