【问题标题】:Notion API OAuth Not working `invalid client`Notion API OAuth 不工作`无效的客户端`
【发布时间】:2022-01-09 20:23:21
【问题描述】:

我已经尝试设置 Notion OAuth,并且在邮递员上一切正常,但在我的应用程序上却不行。

我尝试了很多方法,这是我迄今为止所做的最后一次实现。

router
.get("/notion/authorize", async (req : Request, res: Response) => { 
    let redirectURL = `${process.env.NOTION_AUTH_URL}?owner=user&client_id=${process.env.NOTION_CLIENT_ID}&response_type=code&redirect_uri=${encodeURI(process.env.NOTION_REDIRECT_URI)}`
    res.redirect(redirectURL)
})
.get("/notion/callback", async (req: Request<any,any, any, {code : string } >, res: Response) => {
    try {
        const {code} = req.query;
        console.log(code)
        if(!code) {
            throw new Error("Code is required from notion")
        }
        const response = await axios.post('https://api.notion.com/v1/oauth/token', { 
            data:JSON.stringify({
                "grant_type":"authorization_code",
                "code":code,
                "redirect_uri": "http://localhost:9000/notion/callback"
            }),
            headers: {
            "Authorization": `Basic ${Buffer.from(`${process.env.NOTION_CLIENT_ID}:${process.env.NOTION_CLIENT_SECRET}`).toString('base64')}`,
            "Content-Type": "application/json",
            }
        
        })
        const  {access_token, bot_id, workspace_id, workspace_name} =response.data;
        
        //.. more code

    }catch(err) {
        if(axios.isAxiosError(err)) {
            console.log(err.response.data, err.response.status)
        }
        return res.status(400).json({message: `Failed to register user ${err}`})
    }

    
})

我仍然认为这是错误{ error: 'invalid_client' } 401

也是,检查了密钥和重定向 URI。

请帮帮我:)

【问题讨论】:

    标签: node.js oauth-2.0 oauth notion-api


    【解决方案1】:

    您的标题似乎是错误的。检查字段授权的值是否与您在邮递员中使用的值相同。

    另一件事是您的发帖请求。我觉得你搞砸了。 Axios 在使用 request 方法时可以带一个对象,在使用 post 方法时可以带 3 个参数(url、data、config)(Axios Documentation)。在您的代码中,数据和标题是在一起的,应该在不同的对象中分开。

    【讨论】:

    • 是的,你是对的!成功了,非常感谢。
    猜你喜欢
    • 2019-04-13
    • 2020-12-04
    • 2021-02-18
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    • 2017-10-19
    • 2021-05-12
    • 1970-01-01
    相关资源
    最近更新 更多