将数组值传递给 URL 缩短方法抛出异常

Passing array value to URL shorten method throwing an exception

我正在尝试将值数组传递给 url shorten 方法并得到 url 的缩写形式,但问题是,即使得到输出,异常是抛出 catch 块(异常:无效值)。我不知道为什么会这样。有人可以纠正我哪里错了吗,这是正确的做法吗? 我的代码:
var lng = sheet.getRange(2, 1, sheet.getLastRow()).getValues(); try { for(var i in lng) { var url = UrlShortener.Url.insert({ longUrl: lng[i]}); Logger.log(url.id); } } catch(e) { Logger.log(e); }

您提到 lng[i] 的方式是错误的。您已将一维数组 lng[i] 中的第一个值取为 lng[i][0]

对代码进行了一些更改。试试这个

function shorturl()
{
  var sheet = SpreadsheetApp.getActiveSheet();
  var lng = sheet.getRange(2, 1, sheet.getLastRow()).getValues();
  try
     {
       for(var i=0;i<lng.length; i++)
       {
         if(lng[i][0])
         {
           var url = UrlShortener.Url.insert({ longUrl: lng[i][0]});
           Logger.log(url.id);
         }
       }
    }
    catch(e)
    {
      Logger.log(e);
    }
}

希望对您有所帮助!