UrlFetchApp.fetch例外をキャッチする方法 質問する

UrlFetchApp.fetch例外をキャッチする方法 質問する

からの例外をキャッチする方法はありますかUrlFetchApp.fetch?

レスポンスコードをチェックするために使用できると思いましたresponse.getResponseCode()が、たとえば404エラーが発生した場合、スクリプトは続行されずに停止します。UrlFetchApp.fetch

ベストアンサー1

コツはmuteHttpExceptionsUrlFetchApp.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

おすすめ記事