You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Notion API的JavaScript SDK获取单选属性选项?

如何用Notion JavaScript SDK获取单选属性的选项

核心原因:单选与多选属性的API结构不同

你之前用的多选属性方法失效,是因为Notion API里单选(select)和多选(multi_select)属性的结构字段不一样——多选属性的选项存在multi_select.options下,而单选属性的选项存在select.options下,直接复用多选的访问方式会拿到undefined,自然无法生效。

正确实现步骤

  1. 初始化Notion客户端(确保已安装@notionhq/client包):
const { Client } = require('@notionhq/client');
// 替换成你的Notion API密钥
const notion = new Client({ auth: 'your-notion-api-key' });
  1. 编写获取单选选项的函数:
async function fetchSelectPropertyOptions(databaseId, propertyName) {
  // 获取数据库的完整属性定义
  const database = await notion.databases.retrieve({
    database_id: databaseId
  });

  // 定位目标单选属性
  const targetProperty = database.properties[propertyName];

  // 校验属性类型是否为单选
  if (targetProperty.type !== 'select') {
    throw new Error(`「${propertyName}」不是单选类型属性`);
  }

  // 提取单选选项列表
  const selectOptions = targetProperty.select.options;
  // 每个选项包含id、name、color三个字段
  console.log(`「${propertyName}」的单选选项:`, selectOptions);
  return selectOptions;
}

// 调用示例(替换成你的数据库ID和属性名称)
fetchSelectPropertyOptions('your-database-id', '你的单选属性名')
  .catch(err => console.error(err));

注意事项

  • 确保你的API密钥拥有读取目标数据库的权限
  • 属性名称必须和Notion数据库里的名称完全一致(区分大小写)
  • 返回的options数组中,每个元素的结构为:{ id: string, name: string, color: string }

内容的提问来源于stack exchange,提问作者user17572023

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:15:10