如何修复Notion API验证错误?Etherscan数据导入问题
Etherscan数据导入Notion API验证错误解决方案
核心排查步骤
1. Notion集成权限与密钥校验
- 必须使用
secret_开头的有效Notion API密钥,从Notion集成后台生成,且状态为活跃 - 目标数据库必须授权给该集成:打开数据库 → 右上角「...」→ 「添加连接」→ 选中你的集成
- 密钥不能包含多余空格、换行符,复制时避免误选其他字符
2. Etherscan API有效性验证
- 直接在浏览器中访问你的Etherscan API链接,确认返回标准JSON数据,无
Invalid API Key、Rate Limit Exceeded等错误 - 若开启Etherscan API IP白名单,当前服务器/本地IP必须在白名单内
3. Node.js代码关键修正点
请求头必须完整
Notion API要求强制指定请求头,缺项直接触发验证错误:
const headers = { 'Authorization': `Bearer ${process.env.NOTION_API_KEY}`, 'Content-Type': 'application/json', 'Notion-Version': '2022-06-28' // 固定使用官方支持的版本号 };
数据库ID提取正确
数据库ID是URL中?v=之前的32位字符串,例如从https://notion.so/workspace/abc123...xyz?v=456中取abc123...xyz
数据结构匹配Notion字段类型
字段类型不匹配会触发隐性验证错误,示例正确构造:
// 假设Notion数据库有「交易哈希」(标题)、「金额」(数字)、「时间」(日期)字段 const pageData = { parent: { database_id: process.env.NOTION_DB_ID }, properties: { '交易哈希': { title: [{ text: { content: tx.hash } }] }, '金额': { number: Number(tx.value) / 1e18 }, '时间': { date: { start: new Date(tx.timeStamp * 1000).toISOString() } } } };
错误日志对应处理
invalid_token:重新生成Notion密钥,复制时用快捷键全选(Ctrl+A/Cmd+A)避免遗漏permission_denied:检查集成是否被添加到数据库的连接列表,而非仅工作空间rate_limited:给Etherscan/Notion请求添加延迟(如await new Promise(resolve => setTimeout(resolve, 1000)))invalid_request:核对Notion API端点为https://api.notion.com/v1/pages,路径无拼写错误
内容的提问来源于stack exchange,提问作者ErcN
相关产品推荐
相关产品推荐

