HTML页面中活跃用户的详细信息

时间:2017-07-17 11:25:05

标签: google-apps-script

如何在HTML页面中打印活动用户的详细信息?我可以在日志和工作表中打印但不能用HTML打印

<script>
  var email = Session.getActiveUser().getEmail();
  Logger.log(email);
}
</script>
<p email="email"></p>

2 个答案:

答案 0 :(得分:1)

不完全确定您的要求,但这是将当前用户电子邮件发送到html对话框的简单示例。如果愿意,您可以将其部署为Web应用程序。

Code.gs:

function onOpen(e)//for Menu
{
  SpreadsheetApp.getUi().createMenu('My Tools')
    .addItem('Display Email','displayEmail')
    .addToUi();
}

function getCurrentUserEmail()
{
  var email={'email':Session.getActiveUser().getEmail()};//returned as an object
  return email;
}

function displayEmail()
{
  SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutputFromFile('getemailinhtml'), 'User Email');//modeless dialog
}

getemailinhtml.html:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script>
    $(function() {

    google.script.run
      .withSuccessHandler(dispEmail)
      .getCurrentUserEmail();
     });//runs after dom is loaded
     function dispEmail(data)
     {
       $('#email').text(data.email);//put's email into h1 tag
     }
     console.log('My Code');
    </script>
  </head>
  <body>
    <h1 id="email"></h1>//Email show up here
  </body>
</html>

答案 1 :(得分:0)

要让您的脚本显示HTML页面,请从 HTML Service: Create and Serve HTML开始。一个最小的例子:

function doGet() {
  var email = Session.getActiveUser().getEmail();
  var html = '<html><body>Email: ' + email + '</body></html>';
  return HtmlService.createHtmlOutput(html);
}

转到“发布&gt;部署为网络应用”并设置相应的选项,以便应用在用户访问时运行(必须授权的人):

web app

请注意,上面的示例仅适用于演示;对于较大的网页,您需要使用templated HTML以及Google Apps脚本的其他面向网络的功能。