概念访问令牌 returns 401 未经授权
Notion access token returns 401 unauthorized
拿到临时码后,我将其发送到exchange access token,但是returns 401 unauthorized error。
这是我的代码:
const resp = await fetch("https://api.notion.com/v1/oauth/token", { method:'POST',
client_id: notionClientId, client_secret: notionClientSecret,
headers: { "Content-Type": "application/json" },
data: { code, grant_type: "authorization_code"} })
这里有什么问题吗?。 Notion文档中没有太多信息。
编辑:我在集成设置中使用 localhost 作为我的重定向 URL。
@Nithur:
我刚才经历过这个过程。我建议 运行 通过 Postman. There you can setup everything easily, refer Notion's Authorization documentation 这个过程。查看您的代码段后,我认为您没有正确形成 POST 请求。
如果您仍想在您的项目中设置它,这里有一个片段可以帮助您使用 JavaScript Fetch:
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic NDYzNTU4YTMtNzI1ZS00ZjM3LWI2ZDMtMDg4OTg5NGY2OGRlOnNlY3JldF95b3VfZm91bmRfbXlfZmFrZV9zZWNyZXQ=");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"grant_type": "authorization_code",
"code": "e202e8c9-0990-40af-855f-ff8f872b1ec6",
"redirect_uri": "https://example.com/auth/notion/callback"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.notion.com/v1/oauth/token", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
如果您想从 Postman 中尝试用您自己的值替换这些值,请将此 cURL 片段作为原始文本导入:
curl --location --request POST 'https://api.notion.com/v1/oauth/token' \
--header 'Authorization: Basic NDYzNTU4YTMtNzI1ZS00ZjM3LWI2ZDMtMDg4OTg5NGY2OGRlOnNlY3JldF95b3VfZm91bmRfbXlfZmFrZV9zZWNyZXQ=' \
--header 'Content-Type: application/json' \
--data-raw '{
"grant_type": "authorization_code",
"code": "e202e8c9-0990-40af-855f-ff8f872b1ec6",
"redirect_uri": "https://example.com/auth/notion/callback"
}'
拿到临时码后,我将其发送到exchange access token,但是returns 401 unauthorized error。 这是我的代码:
const resp = await fetch("https://api.notion.com/v1/oauth/token", { method:'POST',
client_id: notionClientId, client_secret: notionClientSecret,
headers: { "Content-Type": "application/json" },
data: { code, grant_type: "authorization_code"} })
这里有什么问题吗?。 Notion文档中没有太多信息。
编辑:我在集成设置中使用 localhost 作为我的重定向 URL。
@Nithur:
我刚才经历过这个过程。我建议 运行 通过 Postman. There you can setup everything easily, refer Notion's Authorization documentation 这个过程。查看您的代码段后,我认为您没有正确形成 POST 请求。
如果您仍想在您的项目中设置它,这里有一个片段可以帮助您使用 JavaScript Fetch:
var myHeaders = new Headers();
myHeaders.append("Authorization", "Basic NDYzNTU4YTMtNzI1ZS00ZjM3LWI2ZDMtMDg4OTg5NGY2OGRlOnNlY3JldF95b3VfZm91bmRfbXlfZmFrZV9zZWNyZXQ=");
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({
"grant_type": "authorization_code",
"code": "e202e8c9-0990-40af-855f-ff8f872b1ec6",
"redirect_uri": "https://example.com/auth/notion/callback"
});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("https://api.notion.com/v1/oauth/token", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
如果您想从 Postman 中尝试用您自己的值替换这些值,请将此 cURL 片段作为原始文本导入:
curl --location --request POST 'https://api.notion.com/v1/oauth/token' \
--header 'Authorization: Basic NDYzNTU4YTMtNzI1ZS00ZjM3LWI2ZDMtMDg4OTg5NGY2OGRlOnNlY3JldF95b3VfZm91bmRfbXlfZmFrZV9zZWNyZXQ=' \
--header 'Content-Type: application/json' \
--data-raw '{
"grant_type": "authorization_code",
"code": "e202e8c9-0990-40af-855f-ff8f872b1ec6",
"redirect_uri": "https://example.com/auth/notion/callback"
}'