如何知道谁在使用使用Google Apps脚本构建的Web应用程序?

时间:2012-10-22 02:36:55

标签: google-apps-script

我想发布一个使用Google Apps脚本构建的免费网络应用,但我想知道谁在使用这个网络应用程序(至少是用户电子邮件地址)。该应用程序将以访问应用程序的用户身份运行,并可供任何人使用。

我知道使用ScriptDb并保存Session.getUser()。getEmail()的方法,但我不想在这个App中使用这种方法。

还有其他方法吗?

谢谢,Fausto

2 个答案:

答案 0 :(得分:1)

您可以将用户的电子邮件保存在任何地方,在您方便的地方进行操作。如果您不喜欢ScriptDb,请在Spreadsheet上执行此操作。

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

显然,此电子表格必须与“有链接的任何人”共享。或者,您可以设置Google表单并使用它发送信息。它不是公共API,但使用UrlFetch非常简单。

答案 1 :(得分:1)

您可以创建另一个webapp,其中当前的webapp将使用urlfetch以静默方式将活动用户邮件发布到电子表格等。

支持应用。将其发布为webapp,以便在您的凭据和匿名访问下运行。确保获取此webapp的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);
}

在你的主要webapp中 使用,遵循以下代码行

 var user = Session.getActiveUser();
    UrlFetchApp.fetch('https://script.google.com/macros/s/xxxxxxxxxxx/exec?user='+user); //URL is the supporting webapp url with parameter