BacklogAPIの課題追加でUrlFetchApp.fetchして出会ったエラー集
BacklogAPI便利ですよね。
APIを使う上で色々出くわしたエラーとそのときの対応策
①URL長すぎ
Exception: 上限を超えています: URLFetch URL の長さ
URLが2KB超えると、エラーになる。
テンプレの内容を課題の詳細に設定したりすると超えたりする。
URLが長い原因として、URLにパラメータ付与してGETリクエストにしていることがある。
GETリクエストではなく、POSTに切り替える。
②項目ないっすよ
muteHttpExceptions: true
にして、返ってきたレスポンス
400 "errors":[{"message":"Expect [項目名].","code":7,""}
必須項目がないですよと言われている。
確かに設定していない、という場合は、リクエストに[項目名]を追加する。
[項目名]リクエストに含んでるのになぁ、って時は、Content-Type
でしている形式とリクエストの形式が正しいかチェック(無駄にここで詰まってしまった)
"Content-Type" : "application/x-www-form-urlencoded"
なのに、JSON形式で送ろうとしてしまってた。
developer.mozilla.org
③形式違うっすよ
400 "errors":[{"message":"error.invalid : [項目名]","code":7,"moreInfo":"[項目名] requires number. Raw input: [値].0"}
修正している間に出てきたエラーで、UrlFetchApp.fetchはなぜか整数じゃなくて小数点第一位付きに変換するみたい。というのが分かっただけの例
これ自体がエラーの課題ではなかったが、一応メモとして残す。