如何在Google Apps脚本网络应用的网址中包含数据?

时间:2017-06-13 10:32:53

标签: google-apps-script

我已经制作了我的第一个小测试网络应用程序并使“技术”工作,按照: enter image description here

下一步是让客户能够点击电子邮件中的状态URL,以便他们可以查看其工作的日程安排状态。所以,问题是:

是否可以创建一个网址,然后该网址可以解析并提取数据?

一个类似于以下内容的网址: https://script.google.com/a/macros/example.com/s/AKfycbwMgBLtVP8Ur8GKNpGxxjna_zr5BlegmvlFqXQW1g6q5UfksAg/exec/ + 123 + +样品街道+ samplesuburb

然后Web应用程序将拉出并显示与该地址相关的计划信息。

非常感谢〜

2 个答案:

答案 0 :(得分:3)

您可以检查doGet()函数的'e'对象以获取URL参数

 // yourUrl/?a=1&b=2&c=3&c=4

function doGet(e){

 e.queryString // will be a=1&b=2&c=3&c=4
 e.parameter; // will be {"a": "1", "b": "2", "c": "3"}. For parameters that have multiple values, this only returns the first value
 e.parameters; // will be {"a": ["1"], "b": ["2"], "c": ["3", "4"]}. Returns array of values for each key.



}

请参阅此处的{网址参数'部分https://developers.google.com/apps-script/guides/web

答案 1 :(得分:0)

作为一项工作测试,我使用了:

带有参数的网络应用网址,例如: https://script.google.com/a/macros/example.com/s/AKfycbwMgBLhu88Ur8GKNpGxxjna_zr5BlegmvlFqXQW1g6q5UPksAg/exec?street=65_Fields_Ave ..." street = 65_Fields_Ave"从特定客户的电子表格数据连接到Web应用程序URL,以包含在他们的预订电子邮件中。

阅读街道(真实的剧本也将测试郊区):

function doGet(e) {
  var paramStreet = e.parameter.street;          // format like "123_Sample_Street"
  var street = paramStreet.replace(/#|_/g,' ');  // format like "123 Sample Street"

然后搜索电子表格中的行并通过以下方式显示数据:

var html = HtmlService.createTemplateFromFile('index');
html.name = fullName;
html.street = street;
html.status = schedStatus;

return html.evaluate();

在HTML文件中:

<div> 
  <h1>Scheduling Status</h1>
  <p>Primary Contact: <?= name; ?></p>
  <p>Street: <?= street; ?></p>
  <p>Status: <?= status; ?>
</div>

请注意,每次更改后都需要将网络应用发布为新版本: enter image description here

像魅力一样!谢谢Anton Dementiev