/ v3 / contactdb /收件人的SendGrid 403响应-需要许可

Dav*_*ssa 2 node.js sendgrid

我需要什么权限,或者此SendGrid API调用在做什么?

我正在尝试将新的收件人(/ contactdb / recipients)发布到“发送网格”,但始终收到403响应:

即使从SendGrid资源管理器中调用API,我也会收到此消息

联系人API-收件人

  • POST->添加收件人
{
  "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)

Dav*_*ssa 5

每个支持:

我们刚刚发布了“新营销活动”体验,并且端点已从“传统营销活动”中更改。

尝试以下端点:

https://api.sendgrid.com/v3/marketing/contacts

我从这里的文档中提取了它:

https://sendgrid.api-docs.io/v3.0/contacts/add-or-update-a-contact
Run Code Online (Sandbox Code Playgroud)

  • 哇哦,谢谢你——Node 库的 Github 文档已经过时了,如果没有你的回答,我们永远无法深入了解这个问题 (6认同)