Google App Maker: как вернуть код ответа HTTP из выборки сценария сервера - с ошибками или без них - обратно в сценарий клиента? - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь получить код ответа от HTTP-вызова на сервере обратно клиенту для обработки, но не могу получить значение кода ответа, когда на сервере происходит исключение при получении ответа.

До сих пор я пытался сработать так, чтобы выбрать код ошибки из строки исключения, которая возвращается с сервера и принимается в обработчике ошибок клиента.

Что будетлучший способ сделать это?

На моем серверном скрипте:

function fetchID(email) {
  email = email || "";
  var url = "<some URL>?email=" + email.toLowerCase();
  var options = {
     'method' : 'GET',
     'headers' : {
       "X-API-KEY" : "<some API Key>",
     'muteHttpExceptions' : false,
     'contentType' : "text/tab-separated-values; charset=utf-8"
     }
   };
  var response = UrlFetchApp.fetch(url,options);
  return response.getContentText("UTF-8");
   }

и на моем клиентском скрипте:

function getID() {
  let page = app.pages.EmailtoIDPage;
  let email = page.descendants.EmailAddress.value;
  let id = page.descendants.IdOutput;
  id.text = "Fetching...";
  google.script.run
  .withFailureHandler(function(error) {
    if (error.message.indexOf("code 400") != -1) {
      id.text = '400 error spotted';
    } else 
    if (error.message.indexOf("code 503") != -1) {
      id.text = '503 error spotted';
    }
      else {
      id.text = 'an error other than 400 or 503 is spotted';
    }

  })  
  .withSuccessHandler(function(result) {
    // format the email and display it.
    let idValue = extractEmail(result);
    id.text = idValue;
  })
  .fetchID(email);
}

Благодарим Вас за помощь, спасибо!

...