Передача значения массива в URL сокращает метод, вызывая исключение

Я пытаюсь передать массив значений в метод сокращения URL-адресов и получаю сокращенную форму URL-адреса, но проблема в том, что, хотя я получаю выходные данные, исключение выдает в блоке catch (Exception: Invalid Value). я не знаю, почему это происходит. Может кто-то, пожалуйста, поправьте меня, где я не прав, и это правильный способ сделать это? Мой код:
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); }

1 ответ

Решение

То, как вы обращаетесь к 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);
    }
}

Надеюсь, это поможет!

Другие вопросы по тегам