【问题标题】:How to Pass Variables from an External php script to Google App script如何将外部 php 脚本中的变量传递给 Google App 脚本
【发布时间】:2015-01-31 12:18:45
【问题描述】:

我真的是 Google Appscript 的新手,所以如果这个问题听起来很愚蠢,请原谅我。

我正在尝试将 PHP 脚本中的变量转换为 Google 应用程序脚本,以利用 Gmail 发送电子邮件。我不太确定我是否以正确的方式进行操作,但我正在尝试通过 URL 中的 get 请求将变量传递给 appscript 并以这种方式访问​​它们。

//get the variables from the url and send email

function doGet(e){

      var first_name = e.parameter.first_name;
      var last_name = e.parameter.last_name;
      var email = e.parameter.email;
      var phone = e.parameter.phone;

      GmailApp.sendEmail(first_name,last_name + email, phone);

    }

    doGet();

我通过将其部署为 Web 应用程序并在 URL 中传递一些测试变量,测试了它通过 get 请求从 url 获取变量的能力:

https://script.google.com/macros/s/AKfycbzk14ZKDdsofFqx0vU2_kFIXLTduAMvy_G_9MyuS_d046MZIGQb/exec?first_name=testname&last_name=testname&phone=testname&email=testname

但是,我在页面上收到以下错误:

TypeError: Cannot read property "parameter" from undefined. (line 24, file "Code", project "email 6")

能否请您告诉我我在这里做错了什么,或者有更好的方法来解决此类问题。

谢谢!

【问题讨论】:

    标签: javascript php google-apps-script get gmail


    【解决方案1】:

    删除您在函数定义之后放置的对 doGet() 的调用。

    doGet() 会在收到 HTTP 请求时自动调用,不需要显式调用。

    当收到 HTTP 请求时,任何不在函数内的代码都会在触发 doGet() 之前执行。这意味着您当前的代码在没有参数的情况下运行 doGet(),因此在实际的 HTTP 请求被传递给 doGet 之前,点击“e”是未定义的错误。

    否则你的函数中的代码看起来是正确的。

    【讨论】:

      猜你喜欢
      • 2012-11-15
      • 1970-01-01
      • 1970-01-01
      • 2015-04-17
      • 2011-11-18
      • 2012-06-03
      • 2010-09-09
      • 1970-01-01
      • 2015-05-09
      相关资源
      最近更新 更多