Получить ответ от веб-сервера с помощью Apps Script

Я пытаюсь получить ответ от сервлета Java и вернуть его в надстройку Gmail, используя следующую функцию:

function getResponse(){
  var url = "dgdespacho.nubbius.com/AddOn?command=searchRecords&clientName=&recordName=993&recordNo=&token=2671db95-3ece-40d9-842e-b573fc6a6ee6";
  var response = UrlFetchApp.fetch( url );
  Logger.log( response.getContentText() )
}

Он должен возвращать строку в формате JSON. Когда я делаю запрос того же URL-адреса непосредственно в браузере, он отображается так, как должен:

{"data":[{"recordName":"prueba 993","id":5781921682423808}],"records":1,"status":0}

Но внутри надстройки я всегда получаю (неполный) HTML-текст вместо JSON:

<!DOCTYPE html>
<html lang="en">
  <head>
  <meta charset="utf-8">
  <meta content="width=300, initial-scale=1" name="viewport">
  <meta name="google-site-verification" content="LrdTUW9psUAMbh4Ia074-BPEVmcpBxF6Gwf0MSgQXZs">
  <title>Sign in - Google Accounts</title>
  <style>
  @font-face { 
  [...]

Я использую ту же структуру, которая показана в документации:

var response = UrlFetchApp.fetch("http://www.google.com/");
Logger.log(response.getContentText());

Я искал похожие вопросы (и в первую очередь проверил этот, поскольку другие, которые я нашел, на самом деле не сосредоточены на той же теме), но они также не решили эту проблему.

Что мне не хватает? Как я могу получить с помощью Apps Script то, что я получаю при копировании и вставке одного и того же URL-адреса в веб-браузере, если он не использует UrlFetchApp.fetch( url )?


person Manuel Herrera Ojea    schedule 01.03.2018    source источник
comment
Сайт, к которому вы пытаетесь получить доступ, требует входа с помощью учетной записи Google. Когда вы делаете этот звонок из своего браузера, я подозреваю, что вы уже вошли в свою учетную запись Google и ранее предоставили доступ к приложению. Таким образом, он показывает ожидаемое возвращаемое значение json. Попробуйте открыть сайт в режиме инкогнито или в приватном режиме, он должен предоставить вам страницу входа.   -  person Jack Brown    schedule 01.03.2018
comment
Я не уверен, какой тип авторизации использует сайт, вы можете попробовать эту базовую авторизацию, как указано здесь   -  person Jack Brown    schedule 01.03.2018
comment
Да! Вот и все =D Я понятия не имел, что требуется аутентификация каждый раз, когда я делаю запрос. Я удалил URL-адрес своего сервлета из фильтра запросов аутентификации (сначала даже не знал, что он существует, я новичок в компании, которой несколько лет, и их код уже гигантский), и теперь он работает отлично =) Спасибо!   -  person Manuel Herrera Ojea    schedule 07.03.2018