イケてる SaaS を作りたい (koni blog)

SNS管理ツール「SocialDog」を運営する株式会社AutoScale代表 小西将史のブログです。イケてるSaaSを目指して日々奮闘しています。

2020/12/9頃から、Google Apps Script(GAS)のUrlFetchApp.fetchが突然「予期しないエラー」で動かなくなった件の原因と対処

AutoScale では、metabase の API から売上などのデータをGoogle Apps Script(GAS)で、定期的に取得してスプレッドシートに保存しています。

2020/12/11頃からその処理が急に動かなくなったので原因を調査・解決しました。

発生していたソースコード

UrlFetchApp.fetch(url, params)

発生していた例外

予期しないエラー: URL
Unexpected error: URL

原因

なんとGoogle 側のバグ!

Google のイシュートラッカーに起票済み。 みんなKPIが更新されなくて阿鼻叫喚になってるw

"Unexpected error" happening randomely accross all our users when trying to do UrlFetch() [175141974] - Visible to Public - Issue Tracker

暫定対応

URLを変えていろいろ試したみた結果、レスポンスのContent-type が application/json のものは例外を投げないが、 text/css のものは例外となっているようでした。

対処

metabase のAPIで、取得形式をcsvからjsonに変えたら治った。

その他調べたことのメモ

以下のページにはcontent-typeによって例外を投げるということは特に書いてない

developers.google.com

以下のページにも、最近のリリースでUrlFetchApp.fetchの仕様が変わったようなことは書いてない。

Release Notes  |  Apps Script  |  Google Developers