Google app maker 如何通过检查发送电子邮件是否成功来更新数据库字段?

Google app maker 如何通过检查发送电子邮件是否成功来更新数据库字段?,google-app-maker,Google App Maker,我正试图在谷歌应用程序制造商中制作一个表单。我已经创建了一个表单。它有一个previewsave按钮,它将创建一个新项目,我有一个名为status的字段。此字段的默认值为草稿。在下一页中,我有一个“发送电子邮件”按钮。此页面不会创建任何新项目。它将发送电子邮件,如果电子邮件发送成功,则将状态字段从草稿更新为已完成 这是我的客户端脚本 function sendMessage(to, subject, msg){ // some part is omitted var status = app.

我正试图在谷歌应用程序制造商中制作一个表单。我已经创建了一个表单。它有一个previewsave按钮,它将创建一个新项目,我有一个名为status的字段。此字段的默认值为草稿。在下一页中,我有一个“发送电子邮件”按钮。此页面不会创建任何新项目。它将发送电子邮件,如果电子邮件发送成功,则将状态字段从草稿更新为已完成

这是我的客户端脚本

function sendMessage(to, subject, msg){
// some part is omitted 
var status = app.popups.NotificationDialog.descendants.notificationText;
var success = app.datasources.ChangeSystem;

google.script.run
    .withFailureHandler(function(error){
          // success.Success = "draft"
           status.text = error.message;

                                     })
    .withSuccessHandler(function(result){

            status.text = 'sent';
            success.Success = "completed";
            clearEmailForm();
  })
  .sendEmailMessage(to, subject, msg); 
}
这是我的电子邮件发送按钮功能

var widgets = app.pages.Email.descendants;
var to;
var subject = widgets.systemName.value 
var msg =  "Description:\n\t\t"        + widgets.Objective.value; 
          widgets.EmailStatus.text = 'Sending email...';
sendMessage(to, subject, msg);

到目前为止,我成功地发送了电子邮件,而且我已经创建并保存了所有字段。但问题是在发送电子邮件后,状态字段不会更新。它与默认值草稿保持相同。我的预期结果是,按下“发送”按钮后,它将更新一个现有字段。

在对该主题进行一些额外思考后,我认为我发现了问题。下面是一些更新的代码,假设您的“发送电子邮件”按钮与您尝试更新的字段是相同的继承数据源

var success = widget.datasource.item;
google.script.run
  .withFailureHandler(function(error) 
    status.text = error.message;
    success.Success = 'draft';
  })
  .withSuccessHandler(function(result) {
    status.text = 'Email sent';
    success.Success = 'completed';
    clearEmailForm();
  })
  .sendEmailMessage(to,subject, msg);

副本。虽然我认为这里提供的答案不符合要求。仍然认为数据源可能处于手动保存模式,特别是因为您在这里提到了“保存”按钮。我还建议您包含代码的其余部分,如成功和状态变量,因为您不包括这些变量的定义方式。已经尝试过了,但没有成功。此外,我的数据库未处于手动保存模式。我已经更新了我的代码部分。在没有其他详细信息的情况下,我能想到的最后一件事是,成功字段的可能值不包括“已完成”,或者可能值条目与脚本中设置的内容在拼写上存在差异。请参阅更新后的答案。无论哪种方式,我都认为错误是忽略了成功变量中的.item。工作得很顺利。。非常感谢你。。顺便说一句,我必须在客户端脚本中添加这些部分。在提交按钮中添加这些内容无效。