正文

Notion官方文档的Authorization部分提到:

In your integration code, include the token in the Authorization header with every API request, as in the following example:

GET /v1/pages/b55c9c91-384d-452b-81db-d1ef79372b75 HTTP/1.1 Authorization: Bearer {INTEGRATION_TOKEN}

由此可知,在每次提出请求的时候都要在头部加入认证信息。官方代码的Shell示例中明确表示了请求中--header 'Authorization: Bearer '"$NOTION_API_KEY"''的占位,而Javascript的代码示例却直接略过了这一点,这导致了复制使用官方Javascript代码的时候很容易因为忽略认证步骤而产生错误。

以创建数据库为例,根据官方文档Create a database的例子,其省略了请求中头部的Authorization,代码如下:

const options = {
method: 'POST',
headers: {
accept: 'application/json',
'Notion-Version': '2022-06-28',
'content-type': 'application/json'
}
}; fetch('https://api.notion.com/v1/databases', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));

如果直接使用如上所示官方文档的代码,则会返回401的错误,返回错误信息如下所示:

{
object: 'error',
status: 401,
code: 'unauthorized',
message: 'API token is invalid.'
}

完整的创建数据库请求代码为:

const options = {
method: 'POST',
headers: {
Authorization: "Bearer " + '这里应为Notion的密钥(token)',
accept: 'application/json',
'Notion-Version': '2022-06-28',
'content-type': 'application/json'
},
body: JSON.stringify(body)
} fetch('https://api.notion.com/v1/databases', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));

依此类推,在使用Notion API的时候,一定不要忘了在请求的头部加入"Authorization"部分的信息。

Reference

Notion API

记录Notion API Authorization中的一个坑的更多相关文章

  1. andriod8.1.0源码编译中的一个坑-package com.sun.javadoc does not exist

    这里记录编译过程中的一个坑!!! 编译过程中出现了下面的报错 external/doclava/src/com/google/doclava/ClassInfo.java:20: error: pac ...

  2. 记前端状态管理库Akita中的一个坑

    记状态管理库Akita中的一个坑 Akita是什么 Akita是一种基于RxJS的状态管理模式,它采用Flux中的多个数据存储和Redux中的不可变更新的思想,以及流数据的概念,来创建可观察的数据存储 ...

  3. Spring Boot 计划任务中的一个“坑”

    计划任务功能在应用程序及其常见,使用Spring Boot的@Scheduled 注解可以很方便的定义一个计划任务.然而在实际开发过程当中还应该注意它的计划任务默认是放在容量为1个线程的线程池中执行, ...

  4. xcode中得一个坑

    因项目需求变动,我必须在coredata中的WorkLogModel表中添加一个字段:抄送人.起初我给这个字段起名为copyPerson,一切准备就绪后,发现从数据库读取这个copyPerson时,第 ...

  5. PHP中的一个”坑“

    说一个极有可能在工作中遇到的问题——foreach的引用 foreach $arr = range(1,3); //[1,2,3] foreach($arr as &$val) { } for ...

  6. 需求:一个页面中需要用到多个字典数据。用于下拉选项,同时,需要将其保存为json格式。以便于key,value的相互转换。记录在实现过程中踩的坑

    本文涉及到的知识: Promise,all()的使用 js处理机制 reduce的用法 map的用法 同步异步 需求: 一个页面中需要用到多个字典数据.用于下拉选项,同时,需要将其保存为json格式. ...

  7. HashMap 中的一个“坑”!

    最近公司新来了一个小伙伴,问了磊哥一个比较"奇怪"的问题,这个问题本身的难度并不大,但比较"隐蔽",那究竟是什么问题呢?接下来我们一起来看. ​ 起因 最近公司 ...

  8. mysql 线上not in查询中的一个坑

    今天早上开发又过来说,怎么有个语句一直没有查询出结果,数据是有的呀,并发来了如下的sql(为了方法说明,表名及查询均做了修改): select * from t2 where t2.course no ...

  9. 关于abp中使用的sweetalert对话框组件的confirm确认对话框中的一个坑

    今天修改了一个功能,限制删除用户,在删除的时候不满足条件的时候提示用户原因,使用的sweet alert组件. abp框架前端集成了sweet alert 对http请求的error做了全局处理,我在 ...

  10. 记录 Java 的 BlockingQueue 中的一些坑

    最近学习了 BlockingQueue,发现 java 的 BlockingQueue 并不是每一个实现都按照 BlockingQueue 的语意来的,其中有不少坑. 直接上代码吧: 1.关于Prio ...

随机推荐

  1. ZYNQ7000系列学习之TF卡读写实验

    TF卡读写实验 1.实验原理 开发板上自动带有TF卡外接接口,这里只需调用封装好的IP核即可实现该功能.当然,你还需要一个TF卡(感觉SD卡也可以,反正这两种卡差不多).实验就是调用一个IP核,不涉及 ...

  2. .NET分布式Orleans - 8 - 贪吃蛇项目实战(准备阶段)

    到目前为止,Orleans7的核心概念基本已经学完,我准备使用Orleans7做一个项目实战,来总结自己的学习效果. 项目效果 通过Orleans7来完成一个贪吃蛇游戏,要求如下: 可以多人在线玩 贪 ...

  3. 禅道16.2版本发布!主要新增专业研发看板,修复Bug

    大家好,禅道16.2发布了,本次发布在项目管理模型层面新增了专业研发看板功能,今后禅道全面支持Scrum.瀑布.看板3种项目管理模型,功能更加健全,用户选择更加灵活. 视频地址:https://www ...

  4. LeetCode 416. 分割等和子集(bitset优化)

    LeetCode 416. 分割等和子集 1 题目描述 给你一个只包含正整数的非空数组nums.请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等. 1.1 输入测试 示例 1: 输入 ...

  5. [Linux]将ArchLinux安装到U盘

    将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安装教程,同时由于当时硬盘空间不太够于是就打算安装到U盘上,也因此踩了不少坑. 但128G的U盘都拿来装Arch的话未免也太浪费了 ...

  6. #团,构造#洛谷 3524 [POI2011]IMP-Party

    题目 有一个 \(3n\) 个点的无向图,保证有一个大小为 \(2n\) 的团,输出一个大小为 \(n\) 的团 分析 每次选择两个不相连的点删掉,那么剩下的 \(n\) 个点一定是团, 因为每次至少 ...

  7. Device Partner平台合作伙伴认证和数据安全保护

     Device Partner平台是面向AIoT产业链伙伴的一站式服务平台,伙伴可以通过平台获取最新的产品.服务与解决方案,实现智能硬件产品的开发.认证.量产和推广等全生命周期的管理,加入Harmon ...

  8. Redis为什么是单线程还支持高并发

    Redis为什么设计成单线程模式因为redis是基于内存的读写操作,所以CPU不是性能瓶颈,而单线程更好实现,所以就设计成单线程模式 单线程模式省却了CPU上下文切换带来的开销问题,也不用去考虑各种锁 ...

  9. 【笔记】rocketMQ了解

    记录rocketMQ 忘了从哪儿保存的图了 原图链接:https://www.jianshu.com/p/2838890f3284

  10. 力扣150(java)-逆波兰表达式求值(中等)

    题目: 根据 逆波兰表示法,求表达式的值. 有效的算符包括 +.-.*./ .每个运算对象可以是整数,也可以是另一个逆波兰表达式. 注意 两个整数之间的除法只保留整数部分. 可以保证给定的逆波兰表达式 ...