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

时间:2019-07-09 05:24:37

标签: node.js sendgrid

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

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

即使从SendGrid Explorer调用API,我也能做到这一点

Contacts API-收件人

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

};

1 个答案:

答案 0 :(得分:0)

每种支持:

  

我们最近刚刚发布了“新营销活动”   经验和终点已经从我们的“传统营销   广告活动”。

     

尝试此终结点:

     

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

     

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

https://sendgrid.api-docs.io/v3.0/contacts/add-or-update-a-contact