我需要什么权限,或者此SendGrid API调用在做什么?
我正在尝试将新的收件人(/ contactdb / recipients)发布到“发送网格”,但始终收到403响应:
即使从SendGrid资源管理器中调用API,我也会收到此消息
联系人API-收件人
{
"errors": [
{
"field": null,
"message": "access forbidden"
}
]
}
Run Code Online (Sandbox Code Playgroud)
这使我认为我的API密钥没有足够的权限,但具有完全访问权限。
这也是我的客户代码。
require("dotenv").config();
const client = require("@sendgrid/client");
exports.handler = function(event, context, callback) {
const body = JSON.parse(event.body);
const email = body.email;
if (!process.env.SENDGRID_API_KEY) {
callback("No API Key");
}
client.setApiKey(process.env.SENDGRID_API_KEY);
const request = {
method: "POST",
url: "/v3/contactdb/recipients",
body: JSON.stringify([{ email }])
};
client
.request(request)
.then(([response, body]) => {
// console.log(response.statusCode);
// console.log(body);
callback(null, response, body);
})
.catch(error => {
// console.log(JSON.stringify(error.response.body.errors));
callback(error);
});
};
Run Code Online (Sandbox Code Playgroud)
每个支持:
我们刚刚发布了“新营销活动”体验,并且端点已从“传统营销活动”中更改。
尝试以下端点:
https://api.sendgrid.com/v3/marketing/contacts
我从这里的文档中提取了它:
Run Code Online (Sandbox Code Playgroud)https://sendgrid.api-docs.io/v3.0/contacts/add-or-update-a-contact