Я пытаюсь получить код ответа от 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);
}
Благодарим Вас за помощь, спасибо!