将数组值传递给 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);
}
}
希望对您有所帮助!
我正在尝试将值数组传递给 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);
}
}
希望对您有所帮助!