我有一些 Python 代码可以使用 notion-client library 检索 Notion 数据库中的行。该代码确实设法检索了所有行,但顺序错误。我查看了 API 参考中的 Sort object,但无法弄清楚如何使用它以在 notion.so 上显示的确切顺序返回行。这是有问题的片段:
from notion_client import Client
notion = Client(auth=NOTION_API_TOKEN)
result = notion.databases.query(database_id='...')
for row in result['results']:
title = row['properties']['NAME_OF_PROPERTY']['title']
if len(title) == 0:
print('')
else:
print(title[0]['plain_text'])
我错过了什么?
答案 0 :(得分:1)
Notion API 在当前版本中不支持视图,因此它不一定会匹配您拥有它的顺序,除非您应用了也可以通过 API 应用的排序或过滤器。
答案 1 :(得分:0)
对 order
使用 notion.databases.query()
参数。此参数是一个排序规范列表,即字典。
result = notion.databases.query(
database_id = 'df4dfb3f-f36f-462d-ad6e-1ef29f1867eb',
sort = [{"property": "NAME_OF_PROPERTY", "direction": "ascending"}]
)
您可以在列表中放置多个排序规范,后面的将用于前面属性中相等的行。