Closed1

NotionAPIを利用してDBにあるページは完全削除できない件

eisukeeisuke

問題点

PythonのNotionClientでページを削除しようとした。

def delete_all_pages(notion):
    pages = notion.databases.query(database_id=notion_database_id)
    for page in pages['results']:
        notion.pages.delete(page['id'])

いろいろ探してみた結果。。。

https://stackoverflow.com/questions/68506522/how-do-i-delete-a-notion-page-in-a-database

https://developers.notion.com/reference/delete-a-block

どうやらページの削除はAPIから操作できないらしい。

解決方法

def delete_all_pages(notion):
    pages = notion.databases.query(database_id=notion_database_id)
    for page in pages['results']:
        notion.pages.update(page_id=page['id'], archived=True)

ページの持つプロパティの一つにarchivedというものがありそれをtrueにするとゴミ箱へ行き削除とほぼ同じ状況になります。

一定期間たてば削除されるんだよね。。。

このスクラップは2023/05/02にクローズされました