【问题标题】:Mailchimp Restful API 3.0 in Node.js always Resource not FoundNode.js 中的 Mailchimp Restful API 3.0 始终找不到资源
【发布时间】:2016-07-10 08:47:10
【问题描述】:

我正在尝试使用 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 数据吗?

【问题讨论】:

    标签: node.js http request mailchimp mailchimp-api-v3.0


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        我建议使用 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',
            },
        }
        

        【讨论】:

          【解决方案4】:

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

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

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

          【讨论】:

            猜你喜欢
            • 2016-02-26
            • 2017-05-21
            • 2017-04-20
            • 1970-01-01
            • 2016-03-21
            • 2017-03-27
            • 2017-03-19
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多