0

描述错误

将 sendinblue api 与我的 nestjs 应用程序集成的问题。我需要与自定义身份验证集成,并且在 axios 的 api 中说我需要使用标头进行自定义身份验证,在邮递员中我使用 api 密钥进行授权并且它可以工作,但它会引发错误 401。

重现

    async SendEmailToSendInBlue(email: {
        sender: { email: string };
        to: [{ email: string }];
        subject: string;
        textContent: string;
    }): Promise<any> {
        const url = `${SENDINBLUE_URL}`;
        return this.httpService
            .post<any>(url, email, {
                headers: {
                    Key: 'api-key',
                    Value: process.env.SENDBLUE_API_KEY,
                    'Add To': 'Header',
                },
                /* auth: {
                    username: 'apikey',
                    password: process.env.SENDBLUE_API_KEY,
                }, */
            })
            .toPromise()
            .then((data) => {
                return data;
            });
    }

预期行为 向客户发送一封交易电子邮件。

环境 -Axios 版本 0.19.2 -Node.js 版本 14+ -Docker 版本 19.03.12-ce -附加库版本

其他上下文/屏幕截图在此处输入图像描述 在 此处 输入图像描述

4

1 回答 1

2

Sendinblue 文档本身解释了如何执行此操作。

下面的链接解释了如何传入api-key标头:

https://developers.sendinblue.com/docs/send-a-transactional-email#send-a-transactional-email-using-a-basic-html-content

headers: {
 'api-key': 'YOUR_API_KEY'
}
于 2020-08-03T15:35:22.090 回答