【问题标题】:Generating an email list from AppMaker Database从 AppMaker 数据库生成电子邮件列表
【发布时间】:2017-05-29 10:41:14
【问题描述】:

我试图弄清楚如何获取涉及电子邮件列的数据库信息,将所有电子邮件组成一个数组,然后使用“按钮”功能填充电子邮件页面的“收件人:”部分。

感谢任何帮助。在这方面非常新,并指出我在哪里获取信息会很棒。谢谢

【问题讨论】:

    标签: google-app-maker


    【解决方案1】:

    我建议您运行一个服务器脚本来查询包含电子邮件的数据源。脚本将如下所示:

    function getEmails(){
    
      var query = app.models.<yourmodel>.newQuery();
      var results = query.run();
    
      var allEmails = [];
    
      if(results.length > 0){  
        for(var i = 0; i < results.length; i++){    
          var uniqueEmail = results[i].<emailfieldname>;
          allEmails.push(uniqueEmail);      
        }
      }
    
      return allEmails.join();      
    
    }
    

    然后将脚本添加到按钮小部件“onclick”事件,该事件将运行服务器脚本并操作返回的数据。类似的东西:

    function poulateToField(response){
    
      <widget path>.text/value = response;
    
    }
    
    google.script.run.withSuccessHandler(poulateToField).getEmails();
    

    上面的 widget path 将是“To:”小部件的路径,可以是文本框、文本区域等。在我的例子中,我使用了文本区域和路径这是“widget.parent.descendants.TextArea1.value

    我希望这会有所帮助。如果您有更多问题,请告诉我! :)

    P.D.请不要忘记查看 official documentation 以获得更好、更详细的说明。

    【讨论】:

      【解决方案2】:

      您还可以使用投影从数据源中获取项目列表(电子邮件)。根据本文https://developers.google.com/appmaker/ui/binding#projections

      投影让您可以访问数据源中记录的属性 物品清单。使用 ..projections.. 选项访问投影 高级绑定向导,或使用投影运算符 .. 在 绑定路径。例如,对于具有名称的员工数据源 属性,@datasources.Employee.items..name 返回所有列表 员工姓名。

      您可以查看“呼叫脚本”指南,该指南向您展示如何使用应用制作工具发送电子邮件,该指南可在此处获得 https://developers.google.com/appmaker/tutorials/call-scripts/

      要使用投影并按照上述指南,在“创建 UI”下的步骤#2中:为收件人添加一个文本框:

      c。在属性编辑器中,您可以选择绑定并将小部件绑定到遵循以下路径的数据源投影,而不是在文本框小部件中输入“To”值:datasource > items > ..projections.. > Email(电子邮件所在的数据源字段的名称)

      例如,投影将如下所示:@datasource.items..email

      这将自动将数据源中可用的所有电子邮件绑定到文本框小部件。然后您可以完成指南,电子邮件将发送到您数据源中的所有电子邮件地址。希望这会有所帮助。

      【讨论】:

      • 这是最简单的方法,只要您拥有客户端上的所有记录即可。如果您只有客户端的一些记录,例如单个页面或带有过滤器的查询,然后使用其他答案中描述的服务器端脚本是最好的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      • 2012-02-05
      • 2018-08-22
      • 2013-04-08
      • 1970-01-01
      • 2012-06-08
      相关资源
      最近更新 更多