小编Ala*_*lls的帖子

使用Javascript匹配在字符串中查找插入符^字符

matchJavascript中的方法会找到^插入字符吗?

这不适合我.

var theString = '^A^B^C^D';
var theMatch = theString.match(/^/g);
Run Code Online (Sandbox Code Playgroud)

插入符号的ASCII码是94.我可以用ASCII码匹配它吗?

javascript regex string match

2
推荐指数
1
解决办法
777
查看次数

从文件 URL 中查找应用脚本发布的 URL - 按发布的 Web 应用 URL 搜索文件

我们从客户以前的开发人员那里继承了很多 Google Apps 脚本项目。Apps 脚本通过嵌入的小部件部署在 Google 站点 (sites.google.com) 上的各种页面上。每当我们需要处理其中之一时,我们都能够通过以下方式找到该项目:

  1. 转到包含小部件的sites.google.com 页面,
  2. 编辑小部件,
  3. 注意到发布的 URL,
  4. 转到 script.google.com,
  5. 打开/编辑名为“像”我们正在寻找的项目,
  6. 单击发布 > 部署为 Web 应用程序
  7. 将“当前网络应用 URL”与上面第 3 步中看到的进行比较

这是一个相当乏味的过程,但到目前为止它已经奏效了。

当通过sites.google.com 访问时,其中一个小工具开始显示“需要授权...”消息,因此我们需要追踪它所属的项目。我们完成了步骤 1-3(上面),但是我们找不到任何具有与小工具匹配的 URL 的项目。

我的预感是组织内部的其他人(不是开发人员的帐户)拥有该项目,但可能是 5 或 6 个不同的人,他们都不是开发人员或特别具有技术头脑。另一种可能是开发者账户确实拥有该项目,但它的名字很糟糕,我并不兴奋,要经过 5-7 几十次步骤才能找到它。

有没有办法根据 URL 定位特定项目?script.google.com 上的搜索工具似乎只搜索项目名称,不幸的是,这在这种情况下没有帮助。

url google-sites google-apps google-apps-script

2
推荐指数
1
解决办法
1277
查看次数

如何将二维数组保存到 Google App Script 中的属性服务中的脚本属性?

我有一个二维数组,我需要将它保存为 Google App Script 中的一个属性。我该怎么做?

var array = [['value 1', 1.0, 'A'],['value 2', 2.0, 'B'],['value 3', 3.0, 'C']]

PropertiesService.getScriptProperties().setProperty('myArray', array)
Run Code Online (Sandbox Code Playgroud)

当我运行上面列出的代码时,我得到[Ljava.lang.Object;@40ac055f了值。

当我使用时array.toString(),属性值否定方括号。

提前致谢!

arrays json google-apps-script

2
推荐指数
1
解决办法
1414
查看次数

Google App Engine 是否识别并使用 .htaccess 文件?

我正在使用 Google App Engine Launcher 在localhost:8080. 我猜 Google App Engine Launcher 使用 Python 在本地运行服务器,但我读过它.htaccess是 Apache 的东西。我试图开始工作的示例代码使用了一个.htaccess文件。我想弄清楚是.htaccess文件有问题,还是其他什么问题。Google App Engine 会识别和使用.htaccess文件吗?

我使用 Git Hub 中的 Dr Edit PHP 示例作为我的代码:

博士编辑代码示例

这是 Google 特别指出的代码,它是在 Google App Engine 上使用 PHP 的更完整示例。Git Hub 上的存储库包含一个.htaccess文件,但不包含app.yaml文件。Google Developers 文档特别指出需要一个app.yaml文件来配置应用程序,但随后他们正式指向的示例代码遗漏了一个app.yaml文件并提供了一个.htaccess文件。我不明白。

在花了大量时间之后,看到 Google 的文档是多么过时和完全错误后,我不知道是否可以使 Dr Edit 示例从 Git Hub 中“按原样”运行。

.htaccess google-app-engine

1
推荐指数
1
解决办法
9968
查看次数

Google App Engine app.yaml匹配所有PHP文件并匹配所有HTML文件并分别提供服务

我正在使用带有PHP的Google App Engine.我希望识别HTML文件夹中的所有文件Client_Pages并将其作为静态文件提供,并且PHP要识别同一文件夹中的所有文件并将其作为脚本文件提供.这是app.yaml文件的样子:

application: myappname
version: 1
runtime: php
api_version: 1
threadsafe: true

handlers:
- url: /
  script: index.php

- url: /Client_Pages/*.php
  script: /Client_Pages/*.php

- url: /Client_Pages/*.html
  static_dir: Client_Pages/*.html
Run Code Online (Sandbox Code Playgroud)

我想这asterisk不是一个通配符app.yaml吗?我尝试过使用:

- url: /(.+\.php)
  script: Client_Pages/\1
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我甚至都不知道所有符号的含义,所以我只是在乱砍,希望有些东西可行.我不想这样做,但我找不到所有符号所做的文档.

这适用于特定页面:

- url: /Client_Pages/InputForm.php
  script: /Client_Pages/InputForm.php
Run Code Online (Sandbox Code Playgroud)

我可以在我的app.yaml文件中为我网站中的每个页面添加一行,但我宁愿找到一种不同的方式.

等一下!坚持,稍等!这适用于加载我的PHP文件:

- url: /(.+\.php)
  script: \1
Run Code Online (Sandbox Code Playgroud)

\1意味着什么呢?或者哪里有好的参考?

好的,所以上面适用于php页面,但这不适用于HTML页面,为什么?

- url: /(.+\.html)
  static_dir: \1
Run Code Online (Sandbox Code Playgroud)

我得到了一些工作.这将加载我PHPHTML …

html php google-app-engine app.yaml

1
推荐指数
1
解决办法
3138
查看次数

为什么POST方法将表单数据两次发送到服务器?

为什么这个表单两次发送数据?此外,第二次,数据是"未定义的".

表格:

<form action="/loginPage" method="POST" >

        Username: <input type="text" id="username"> <br><br>
        Password: <input type="text" id="password"> <br><br>

        <input type="submit" id="Login" value="Login" > 

    </form>
Run Code Online (Sandbox Code Playgroud)

客户端脚本:

$(document).ready(function(){

    $('form').submit(function(event){

    //event.preventDefault(); This prevents from sending data twice, but     then the page doesn't redirect to "Hi, <username>"

      $.post("/loginPage",{username: $("#username").val(),password: $("#password").val()}, function(data){
            ;
        });

    });
  });
Run Code Online (Sandbox Code Playgroud)

服务器端脚本:

app.post('/loginPage', function(req, res) {

var username = req.body.username;
console.log("Now, "+username);
res.send("Hi, "+username);

//res.sendFile(__dirname + '/lobby.html');
});
Run Code Online (Sandbox Code Playgroud)

这是我运行此代码时得到的输出:

Hi, Sho
Hi, undefined
Run Code Online (Sandbox Code Playgroud)

过去一整天我都被困在这一个.请帮我.

javascript node.js express

1
推荐指数
1
解决办法
1317
查看次数

Google-apps-script不会在onEdit函数中发送电子邮件

我有一个脚本,可以在编辑电子表格时发送电子邮件.该脚本运行,但MailApp语句不起作用.

这是执行日志:

[15-01-27 14:15:17:951 EST] SpreadsheetApp.getActiveSpreadsheet()[0秒] [15-01-27 14:15:17:951 EST] Spreadsheet.getActiveRange()[0秒] [15 -01-27 14:15:17:952 EST] Range.getRow()[0秒] [15-01-27 14:15:17:952 EST] Range.getLastRow()[0秒] [15-01] -27 14:15:17:952 EST] Range.getColumn()[0秒] [15-01-27 14:15:17:952 EST] Range.getLastColumn()[0秒] [15-01-27 14:15:17:955 EST]开始执行[15-01-27 14:15:17:969 EST] Logger.log([{"range":{"rowStart":79,"rowEnd":79," columnEnd":6,"columnStart":6},"source":{},"value":"Xxxx","user":{}},[]])[0秒] [15-01-27 14 :15:17:969 EST] SpreadsheetApp.getActiveSpreadsheet()[0秒] [15-01-27 14:15:18:058 EST] Spreadsheet.getSheets()[0.088秒] [15-01-27 14:15:18:145 EST] Spreadsheet.getSheets()[0.086秒] [15-01-27 14:15:18:145 EST] Logger.log([Customer row = 79,[]])[0秒] [15-01-27 14:15:18:145 EST] Sheet.getRange([79,6])[0秒] [15-01-27 14:15:18 :233 EST] Sheet.getDataRange()[0.087秒] [15-01-27 14:15:18:324 EST] Range.getValues()[0.091秒] [15-01-27 14:15:18:327 EST]执行失败:您无权调用sendEmail(第21行,文件"Code")[总运行时间为0.368秒]091秒] [15-01-27 14:15:18:327 EST]执行失败:您无权调用sendEmail(第21行,文件"Code")[总运行时间为0.368秒]091秒] [15-01-27 14:15:18:327 EST]执行失败:您无权调用sendEmail(第21行,文件"Code")[总运行时间为0.368秒]

我在其他脚本上使用了mailApp.sendEmail,效果很好.这是附加到电子表格/表单的第二个脚本,第一个脚本还从formSubmit发送电子邮件.我已经允许所有触发器和权限.

任何帮助赞赏下面的代码:

function …
Run Code Online (Sandbox Code Playgroud)

javascript email triggers google-sheets google-apps-script

1
推荐指数
1
解决办法
4119
查看次数

Apps 脚本高级驱动器 API 服务 - newFile() 方法不创建文件

Advanced Drive API Service 的方法newFile()似乎返回一个对象,但没有在我的 Google Drive 中创建文件。我找不到这方面的任何文档。这是我尝试过的代码以及我得到的结果。

function makeNewDoc() { 

  var file = Drive.newFile();
  Logger.log('file ' + file);
  
  file = {one: "value One"};
  Logger.log('file ' + file);
  
  Logger.log("file['one'] " + file['one']);
};
Run Code Online (Sandbox Code Playgroud)

日志打印如下:

文件 {}

文件[对象对象]

文件['one'] 值一

我尝试在括号内添加一个字符串newFile()

function makeNewDoc() { 

  var file = Drive.newFile("some text");
  Logger.log('file ' + file);
  
  file = {one: "value One"};
  Logger.log('file ' + file);
  
  Logger.log("file['one'] " + file['one']);
  
  for (var key in file) {
     Logger.log('key: ' + key);
     Logger.log('value: …
Run Code Online (Sandbox Code Playgroud)

javascript file google-apps-script google-drive-api

1
推荐指数
1
解决办法
1322
查看次数

Google Apps 脚本的内容服务返回 HTML 而不是 JSON

尝试使用 Content Service API 并且示例在应该返回 JSON 时返回 HTML,我做错了什么?

https://developers.google.com/apps-script/guides/content

function doGet(request) {
  var events = CalendarApp.getEvents(
    new Date(Number(request.parameters.start) * 1000),
    new Date(Number(request.parameters.end) * 1000));
  var result = {
    available: events.length == 0
  };
  return ContentService.createTextOutput(JSON.stringify(result))
    .setMimeType(ContentService.MimeType.JSON);
}
Run Code Online (Sandbox Code Playgroud)

来自另一个文件的 GAS 试图发出请求:

function myFunction() {
  var url = "published URL";
  url+="?start=1325437200&end=1325439000";

  var options = {
    method:"get"
  }
  var response = UrlFetchApp.fetch(url,options).getContentText();
  response = JSON.parse(response); //error, unexpected token <
}
Run Code Online (Sandbox Code Playgroud)

javascript fetch google-apps-script

0
推荐指数
1
解决办法
4236
查看次数

GAS - 将变量传递给HTML输出,然后传递给Scriptlet

Code.gs

function doPost(e) {
    ...
    template.data += getCustomerData + "<br>";
}
return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME);
Run Code Online (Sandbox Code Playgroud)

的index.html

...
<?= data ?>
Run Code Online (Sandbox Code Playgroud)

显示的代码显示正确的值.但是,它不会转换<br>为html.我不确定为什么它不起作用,因为template.evaluate()它应该返回一个HtmlOutput对象.

html google-apps-script

0
推荐指数
1
解决办法
1679
查看次数