2

Google Appsscript を介してテンプレート/ドキュメント生成を実装しました (少なくとも概念実証)。この GAPSS スクリプトを Web サービスとして公開し、GAE からサービスを呼び出すことができます。

これはすでに機能しているものです:

  • ファイル ID (テンプレート) を受け取り、フィールド/値をパラメーターとしてマージする GAPPS スクリプト
  • GAPPS スクリプトは、テンプレートを新しいファイル (=結果ファイル) にコピーし、マージを実行します (拡張された検索/置換の基本)。
  • スクリプト Web サービスを公開する
  • appengine から呼び出す

問題は、GAE アプリケーションが Google または Google Apps ユーザーを認証しており、テンプレートには、GAE がスクリプトを呼び出す代理のユーザーしかアクセスできないことです。結果のマージされたファイルも、特定のユーザーのドライブに書き戻す必要があります。そのため、スクリプトは GAE 認証済みユーザーとして認証された状態で実行する必要があります。

範囲があることを知っている

https://www.googleapis.com/auth/drive.scripts

これにより、Google のドライブにスクリプトをインストールできますか? または ?

主な質問は、ここでどの戦略に従うかです。

  • スクリプトをいくつかのサービス アカウントが所有するようにしますか?
  • 各アプリケーション ユーザーにスクリプトをコピーする必要がありますか (問題: バージョンを最新の状態に保つ、エンド ユーザーがスクリプトを変更できないようにするなど)。
  • スクリプトを認証して、リクエストを行ったのと同じ GAE ユーザーとしてスクリプトを実行できますか? APIコンソールから「ブラウザアプリのキー」を使用している可能性がありますか?
  • たぶん、クライアント側で呼び出しを行う必要があります (webapp から?) そして、その逆を行う必要があります.. GAS スクリプトは指示のために GAE を呼び出し、認証の問題は私の背中から離れています...しかし、テンプレートを GAS スクリプトにストリーミングする必要がありますか?
  • または、 https://developers.google.com/accounts/docs/CrossClientAuthを見ている必要がありますか?これはこの場合に適用されますか?
  • 考慮すべきもう 1 つのオプションは、AppsScript の UrlFetch/OAuthConfig ですが、これでは DocsList と DocumentService の利便性が失われます。

選択肢が多すぎます...最適な戦略は何ですか?

4

1 に答える 1

0

現在、OAuth 資格情報を使用して Google Apps Script でデプロイされた Web アプリを呼び出す良い方法はありません。問題トラッカーでそのリクエストを記録する必要があります

Google Apps Script Web アプリは、ユーザーが初めて Web アプリにアクセスしたときに承認されます。これを行う最も簡単な方法は、App Engine で HTML をレンダリングしたリンクを Apps Script Web アプリに配置することです。ユーザーはそのリンクをクリックして認証 (ブラウザーで適切な Cookie を確立) できるため、キーボードでユーザーとしてスクリプトを実行できます。

このを見てください (ソースを表示することでクライアント側の JS コードを確認できます)。「Start Share Message」は、Apps Script 認証ワークフローを開始します。

これが、アプリのレイアウト方法を想像するのに役立つことを願っています。

于 2013-06-18T02:52:58.103 に答える