このブログは現在astro-notion-blogを使用して作成しています。
で、記事を更新するたびに手動デプロイをかけるのも面倒くさいなあ……と思ったので、先人の知恵をお借りしてGoogle Apps Scriptを使って一時間ごとに更新をチェックして、更新がある場合には自動でデプロイフックを叩けるようにしました。
参考記事:
astro-notion-blog の記事更新をGASで反映させる - Ast-Rock Blog
astro-notion-blog の記事更新をGASで反映させる - Ast-Rock Blog
GASを使ってNotionブログの自動更新をかける
https://astro.gdgd.tokyo

ほぼ記事の手順通りに進めるのですが、コード中にトークン等の文字列を含めるのもなんだなと思ったので、GASではスクリプトプロパティを利用して書き換えます。
// Cloudflare デプロイURL
const deployUrl = PropertiesService.getScriptProperties().getProperty('DEPLOY_HOOK_URL');
// Notion API をセット
const databaseId = PropertiesService.getScriptProperties().getProperty('DATABASE_ID');
const token = PropertiesService.getScriptProperties().getProperty('NOTION_API_SECRET');
関数の外にプロパティを取得するPropertiesService.getScriptProperties()
を書いても見やすいかな……。
const props = PropertiesService.getScriptProperties();
// Cloudflare デプロイURL
const deployUrl = props.getProperty('DEPLOY_HOOK_URL');
// Notion API をセット
const databaseId = props.getProperty('DATABASE_ID');
const token = props.getProperty('NOTION_API_SECRET');
もし実行時間制限(6分)を越えるようなことになったらまた考えます。