0

Google Apps Scriptで作成された無料のWebアプリを公開したいのですが、このWebアプリを誰が使用しているか(少なくともユーザーのメールアドレス)を知りたいです。アプリは、アプリにアクセスするユーザーとして実行され、誰でも利用できます。

ScriptDbを使用してSession.getUser()。getEmail()を保存する方法は知っていますが、このアプリではこのアプローチを使用していません。

これを行う他の方法はありますか?

ありがとう、ファウスト

4

2 に答える 2

1

ユーザーのメールはどこにでも保存でき、都合のよい場所に保存できます。気に入らない場合は、たとえばScriptDbでそれを行います。Spreadsheet

SpreadsheetApp.openById('your-spreadsheet-key').getSheetByName('Sheet1').
  appendRow([new Date(), Session.getActiveUser().getEmail()]);

明らかに、このスプレッドシートは「リンクを持っている人」と共有する必要があります。または、Googleフォームを設定し、それを使用して情報を送信することもできます。これはパブリックAPIではありませんが、を使用して行うのはかなり簡単ですUrlFetch

于 2012-10-22T07:31:43.350 に答える
1

現在の webapp が urlfetch を使用して、アクティブなユーザーのメールをスプレッドシートなどに静かに投稿する別の webapp を作成することができます。

応援アプリ。資格情報の下で匿名アクセスで実行される webapp として公開します。この Web アプリケーションの URL を取得してください。これは、メインの webapp で使用されます。

function doGet(e) {
  var user = e.parameter.user;
  SpreadsheetApp.openById('id of ss where user emailwill be saved').getSheets()[0].getRange('A1').setValue(user);
}

あなたのメインのウェブアプリの使用では、次のコード行

 var user = Session.getActiveUser();
    UrlFetchApp.fetch('https://script.google.com/macros/s/xxxxxxxxxxx/exec?user='+user); //URL is the supporting webapp url with parameter
于 2012-10-22T07:38:29.597 に答える