如何使用Google Apps脚本规范化Google协作平台页面名称?

时间:2012-07-04 06:54:13

标签: google-apps-script google-sites

适用于Java和Python的Google Apps平台协议指南描述了使用以下(不完整)规则将页面标题规范化为路径*:

  

标准化是将+空白空间修剪为' - '并删除不匹配a-z,A-Z,0-9, - ,_的字符。

我找不到可以找到Google Apps脚本的文档,但我无法找到实现此功能的帮助程序功能 - 最好采用与Google协作平台UI相同的方式。

我的第一次尝试 - 我知道不完整(它不涉及Google协作平台UI如何处理字符串的开头和结尾),如下所示:

str.trim().replace(/\s+/g, '-').replace(/[^a-z0-9_-]/ig, '-').toLowerCase();

我使用它的上下文是我有一个页面标题列表,我正在尝试确定该页面是否已存在于网站中。不幸的是,我无法使用文本表示来检查。

例如,使用Google协作平台“创建新页面UI”,名为“004.Policy Deployment(Hoshin Kanri)”的页面将显示路径“004-policy-deployment-hoshin-kanri”。

在使用中,我正在尝试检查页面是否存在,如果存在,则执行某些操作,如果不存在则执行其他操作,如下所示:

if (mySite.getChildByName(myNewPagePath) != null) {
  // do something for pages that exist
} else {
  // do something for pages that don't exist
}

* https://developers.google.com/google-apps/sites/docs/1.0/developers_guide_protocol

问题:

  1. 是否存在规范化页面标题的辅助函数?
  2. 有没有更好的方法来检查页面是否已经存在?
  3. 有没有办法可以检查某个网页的最终用户名称是否存在,而不是路径?

2 个答案:

答案 0 :(得分:0)

您可以获取子项列表并循环浏览标题。否则,虽然你的正则表达式看起来不错,但是现有的函数没有这样做。

答案 1 :(得分:0)

您可以尝试使用search()方法,传入未规范化的标题,然后检查结果以查看是否有任何页面具有预期的标题。