El truco es pasar el parámetro muteHttpExceptions
de UrlFetchApp.fetch()
.
Aquí un ejemplo (no probado):
var payload = {"value": "key"}
var response = UrlFetchApp.fetch(
url,
{
method: "PUT",
contentType: "application/json",
payload: JSON.stringify(payload),
muteHttpExceptions: true,
}
);
var responseCode = response.getResponseCode()
var responseBody = response.getContentText()
if (responseCode === 200) {
var responseJson = JSON.parse(responseBody)
// ...
} else {
Logger.log(Utilities.formatString("Request failed. Expected 200, got %d: %s", responseCode, responseBody))
// ...
}
Por alguna razón, si la dirección no está disponible (por ejemplo, el servicio que está intentando usar está abajo) todavía se ve como está lanzando un error por lo que puede necesitar usar un bloque try/catch
.
Gracias, esto es lo que quiero, google debería tener este documento. – louis
Gracias, siempre me olvido de esta característica. – oshliaer