我一直在用这个概念来跟踪我的习惯和财务状况。现在我想使用Notion API从数据库中获取数据。但API的概念需要数据库ID,我似乎找不到它
官方文档可能已经过时,或者至少不适用于英国用户。
如果您的URL如下所示,则<long_hash_1>
是数据库ID,<long_hash_2>
是视图ID。
https://www.notion.so/<long_hash_1>?v=<long_hash_2>
您必须将集成添加到数据库中
单击3个点,在连接下,有一个添加连接 如果您仍然没有找到您的URL,您可以从web客户端或应用程序客户端获取:
如果这只是为您自己,您可以从页面的URL获取数据库ID:
如果您正在使用Notion桌面应用程序,请再次单击"共享"按钮并选择"复制"链接。在浏览器中粘贴并导航到此URL。如果您还没有登录到Notion工作区,则可能需要登录。按照下一个项目符号中的浏览器说明进行操作。
如果您在浏览器中使用Notion并将数据库作为完整页面查看,则数据库ID是URL中位于工作区名称和斜杠(acme/(之后、问号(?(之前的部分。ID长32个字符,包含数字和字母。复制ID并粘贴到以后可以轻松找到的地方。
https://www.notion.so/myworkspace/a8aec43384f447ed84390e8e42c2e089?v=... |--------- Database ID --------|
如果您正在为其他人创建集成,您可以使用搜索端点来获取集成可以访问的所有数据库。还有一个List数据库端点,但显然这是不推荐使用的。
由于我在这里被困了很长一段时间,我会澄清一下,如果你的URL看起来像:
https://www.notion.so/<workspace>/pamela-writings-fa1d12278d9e42d8b50e281a41fdd645
那么您就不需要数据库ID,因为这是一个页面而不是数据库。所以你会想要pageId。
我错误地认为";一切都是数据库";。
使用上面的url示例,页面Id将是fa1d12278d9e42d8b50e281a41fdd645
用法示例:
def readPage(pageId, headers):
readUrl = f"https://api.notion.com/v1/pages/{pageId}"
res = requests.get(readUrl, headers=headers)
print(res.status_code)
readPage(pageId, headers)
在浏览器中以整页的形式打开数据库并复制URL。将URL粘贴到记事本中,从中提取数据库ID。
https://www.notion.so/fer6ff3d5fcs3dff1d2134349192cc?v=4rf43545...
|---------Database ID----------|
介于/和之间的随机字符串?v是您的数据库ID。
如果你正在寻找一个完整的指南阅读使用概念API 的Notion数据库
。。。通知so/?v=<一些id或hash>
前者的some id或hash是数据库id。