此SendGrid API调用需要什么权限或我在做什么错?
我正在尝试将新的收件人(/ contactdb / recipients)发布到“发送网格”,但始终收到403响应:
即使从SendGrid Explorer调用API,我也能做到这一点
Contacts API-收件人
{
"errors": [
{
"field": null,
"message": "access forbidden"
}
]
}
这使我认为我的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);
});
};
答案 0 :(得分:0)
每种支持:
我们最近刚刚发布了“新营销活动” 经验和终点已经从我们的“传统营销 广告活动”。
尝试此终结点:
https://api.sendgrid.com/v3/marketing/contacts
我从这里的文档中提取了它:
https://sendgrid.api-docs.io/v3.0/contacts/add-or-update-a-contact