5

我需要一种使用 Google Apps 脚本将字符串的一部分替换为另一个字符串的方法。我测试了以下内容并且它有效:

function test(){
  var value = 'https://plus.google.com/117520727894266469000';
  var googleimageURL = googlePlus(value);
  Logger.log('Returned Result: ' + googleimageURL);
}

function googlePlus(value){
    var apiKey = ScriptProperties.getProperty('apiKey');
    var re = 'http://'
    var theURL = value;
    Logger.log('Google+ is called: ' + value);
    var replacingItem = 'https://';
    var theURL = theURL.replace(re, replacingItem);
    Logger.log('Google+ Values 2: ' + value + ' : ' + theURL + ' after ' + replacingItem);
    return imageURL;
}

但是,当我嵌入以下代码时,它不起作用。任何想法?

  //If a Google+ column was not specified,put a flag.
  if (googleColumn && column == googleColumn) {
    if (value == ""){
      columns.push(nogoogleColumn);
      values.push(flag);
      var googleimageURL="";
    } else {
      var googleimageURL = googlePlus(value);
      Logger.log('Returned Result: ' + googleimageURL);
    }
  }

该脚本没有按我的意愿工作。它似乎停在以下行:

var theURL = theURL.replace(re, replacingItem);

附加信息:Google 通过以下消息通知我

onForm提交

TypeError:在对象https://plus.google.com/117520727894266469000中找不到函数替换。(第 536 行)表单提交

4

1 回答 1

9

我发现了错误。这是类型错误。value第二个块不是“字符串”,而第一个块是“字符串”。因此,要修复第二个块,我需要使用:

var value = value.toString();

在传递给之前googlePlus(value)

于 2013-02-01T02:24:24.130 回答