0

UI アプリ スクリプトを含むスプレッドシートがあります。アプリはスプレッドシートから読み取り/更新します。

私の現在の設定は次のとおりです。「私」としてアプリを実行します。

誰がアプリにアクセスできるか: 「誰でも」。

私は基本的に、割り当てのあるワークフローを電子メールで送信しています。これらの電子メールはドメイン外であってもかまいませんが、すべて gmail アドレスになります。

UiApp にアクセスするユーザーに基づいてアプリで特定の機能を許可する必要があるため、Session.getActiveUser() にアクセスできることを望んでいました。スクリプトの所有者としてログインしていない限り、その機能は情報を提供しないようです。別のアドレスからアクセスすると、Session.getActiveUser() が空白になります。

「アプリにアクセスするユーザー」としてアプリを実行することなく、アクティブなユーザーを取得する方法はありますか。スプレッドシートをすべてのエンド ユーザーと共有する必要はありません。

提案をありがとう。

4

2 に答える 2

0

読みやすくするためにコメントから書き直します。

このコンテキストでスプレッドシートを共有しても、スプレッドシートの URL が不明のままである限り、誰もがスプレッドシートをドキュメントとして直接開くことができるわけではありません。アプリを「Webアプリにアクセスするユーザー」として展開する場合、アプリは実際にそれにアクセスする必要がありますが、公開しない限り、誰もシートのURLを見つけることができません。私はこの構成を頻繁に使用しますが、もちろんあなたの正確なユースケースはわかりません... ;-) 私の場合、アプリ自体が特定のユーザーができることとできないことを決定しますログインしたユーザー。

このようなアプリの例を次に示します。ソース スプレッドシートを見つけることができますか?

私のスプレッドシートには「リンクを知っている人なら誰でも」が含まれているため、アプリは読み書きできますが、スプレッドシートの名前とその URL は (私を除いて) 不明であるため、ユーザーが「 webapp を介してドキュメントに何かを書き込みます (実際にドキュメントを「開く」ことはないため)。別のアカウントでそれを確認しましたが、例外は見つかりませんでした。

于 2012-09-10T17:00:48.133 に答える
0

アクティブなユーザーとメールなどのプロパティ.公開の Google アカウントではアクセスできません。独自のドメイン内の Google Apps アカウントでアクセスして使用できます。http://www.google.com/intl/en/enterprise/apps/business/pricing.htmlをご覧ください

それ以外の場合は、Web 上のプライバシー ポイントにすぎません。少しがっかりすることは想像できますが、考えてみれば論理的です。

もう一つヒントがあります。このリンクを参照してください http://shop.oreilly.com/product/0636920023210.do O'reilly は、ワークフロー システムも実装しています。url パラメーターを使用して、電子メール (ID) 情報を渡します。あまり安全ではありませんが、Utilities.DigestAlgorithm SHA エンコーディングと組み合わせて、URL の電子メール パラメータをエンコードする手順を実行できます。

これがお役に立てば幸いです。

于 2012-09-09T17:45:35.320 に答える