Notionタスクデータベース化したらNotionAPIを叩いているGASが動かなくなった件
発生経緯
- Notionデータベースに依頼レコードを登録すると担当者にSlack通知が飛ぶようにGASが組まれており、10分間隔のスケジュールで実行されていた。
- あるとき通知が飛んでこなくなったという連絡が担当者からあり、原因不明だったが、直前に社内メンバーがそのNotionデータベースをタスクデータベースに変換していたことがわかった。
- しかし、ターゲットとしているデータベースIDに変更は無く、プロパティにも変更は加えられていなかったため、通知が飛ばない理由がわからなかった。
原因
- 原因は単純で 'ステータス' プロパティの型が select から status に変わっていたため Type Errorとなっていたため
The property type in the database does not match the property type of the filter provided: database property status does not match filter select
修正対応
- レスポンスのJSON構造を見ながらコード中のステータス プロパティのtype指定のselectをstatusに置き換えるだけ
// フィルタリング条件を指定
var filter = {
"property": "ステータス",
- "select": {
+ "status": {
"does_not_equal": "完了"
}
};
Memo:タスクデータベース化の影響
- 変わるところ
- ステータス プロパティの型が裏で勝手に status になる
- 少なくとも元が select の場合は
- textの場合はどうなんでしょう?
- ステータス プロパティの型が裏で勝手に status になる
- 変わらないところ
- データベースID
- これは変わらないのでどこで問題が起きたのかが分かりづらかった
- その他のプロパティの型
- これは変わらないので(ry
- データベースID