繁体   English   中英

Node.js 中的 Mailchimp Restful API 3.0 总是找不到资源

[英]Mailchimp Restful API 3.0 in Node.js always Resource not Found

我正在尝试使用 mailchimp 的 api 之一,但不知何故我总是得到

   {
  "type": "http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/",
  "title": "Resource Not Found",
  "status": 404,
  "detail": "The requested resource could not be found.",
  "instance": ""
}

我正在使用请求库发出请求并查看下面的代码

var uniqueListId = "XXXX";
var apiKey = "XXX";

  .post(function(req, res) {
      var email = req.body.email;
      var status = "subscribed";

      request({
        url: 'https://usX.api.mailchimp.com/3.0/lists/' + uniqueListId + '/members',
        headers: {
          'Authorization': 'randomUser ' + apiKey,
          'Content-Type': 'application/json',
        },
        method: 'POST',
        json: {
          email_address: email,
          status: status
        }
      }, function(err, response, body) {
        if (err) {
          res.json(err);
        } else {
          res.json(response.statusCode, body);
        }
      });
    });

为了清楚起见,这是我指的文档http://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/

是因为我的 req.body 数据吗?

我同意@TooMuchPete,同样的问题发生在我身上,我花了一整天的时间来解决这个问题,最后,我发现 Audience Id list_id是错误的。

我们需要选择位于AudienceTab > ViewContacts > Settings > Audience and Defaults > Audience ID下的那个,但不幸的是,我选择了显示在 URL 中的那个。

如果您收到 404,那是因为您点击的 URL 未引用实际资源。 uniqueListId可能为空或不是正确的 ID。

我建议使用 Postman chrome 附加应用程序来处理请求和帖子 - 您也可以使用它来生成大多数语言的示例代码。 它非常适合调试。

使用后,我发现您的请求选项应该类似于:

let requestOptions =  { 
    hostname: 'us14.api.mailchimp.com',
    method: 'GET',
    path: '/3.0/lists' + listId,
    headers: {
        'Authorization': 'User ' + config.mailChimp.apiKey,
        'Content-Type': 'application/json',
    },
}

您几乎肯定会将 mailchimp 的 web_id 与 list_id 混淆。 list_id 是 API 所需的 ID,web_id 是打开列表时在 url 中看到的 ID。 我完全不知道为什么 mailchimp 使用 2 个不同的 ID,也不知道为什么他们似乎没有在他们的任何开发人员文档中提出它。

下面是一篇解释如何找到它的文章 - 基本上你去你的列表 -> 设置选项卡 -> 列表名称和默认值。

https://3by400.com/get-support/3by400-knowledgebase?view=kb&kbartid=6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM