からの例外をキャッチする方法はありますかUrlFetchApp.fetch
?
レスポンスコードをチェックするために使用できると思いましたresponse.getResponseCode()
が、たとえば404エラーが発生した場合、スクリプトは続行されずに停止します。UrlFetchApp.fetch
ベストアンサー1
コツはmuteHttpExceptions
、UrlFetchApp.fetch()
。
以下に例を示します (未テスト):
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))
// ...
}
何らかの理由で URL が利用できない場合 (使用しようとしているサービスがダウンしているなど)、エラーが発生しているように見えるため、ブロックを使用する必要がある場合がありますtry/catch
。