【问题标题】:How to retrieve Mailchimp campaign id using api v3如何使用 api v3 检索 Mailchimp 活动 ID
【发布时间】:2016-12-01 00:55:19
【问题描述】:

我是 Mailchimp api v3.0(使用 php)的新手。我已经使用 api 创建了一个活动,并希望从 cURL 返回数据中检索活动 ID,但似乎无法仅提取 ID。我已经离开 php 一段时间了,所以我想我只是被脑死了。显然,我可以打印整个结果,但只需要提取活动 ID 即可添加/更新内容。大部分测试代码如下。如何仅从 $retval 中提取 id?

$json_data = json_encode($options);
$auth = base64_encode('prcAdmin:'. $apikey);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://usn.api.mailchimp.com /3.0/campaigns');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content_Type: application/json',
        'Authorization: Basic ' . $auth));
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/3.0');
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
$retval = curl_exec($ch);

【问题讨论】:

    标签: php


    【解决方案1】:

    您的代码中有一些拼写错误,让我们先修复它们。

    • 网址中有一个额外的空格
    • Content_TypeContent-Type。可以纠正它,尽管端点以 JSON 格式返回数据。

    假设您有一个包含有效活动数据的有效身份验证,它应该以 JSON 格式返回活动数据。提取广告系列 ID 非常简单。

    $campaign = json_decode($retval, true);
    $campaignId = $campaign['id'];
    

    如果您无法获得正确的广告系列 ID,请尝试使用 print_r($retval); 打印出结果。正确的数据应该类似于此页面上的示例响应 - http://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/。 (从大括号和大括号之间)。

    【讨论】:

    • 感谢您的回答。我更正了这两个项目并重新运行它。我添加了 print_r($campaignId);在分配给 $campaignId 之后。不幸的是,我不断收到完整的回复;用于所有 cURL 处理。它不会只提取“id”。 'id' 显然在响应中,但它不会只提取它。我以前做过这种事情,所以我真的很困惑。
    • 另外,print_r($campaignId);结果显示:{"id":"be99006c5f","type":"regular","create_time":".... 以及来自 curl_exec 结果的更多数据。活动已创建并返回响应。我就是无法提取返回的广告系列 ID。
    【解决方案2】:

    我解决了这个问题:我添加了一个: curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    它显然返回了不同的响应,因此“id”标签可以引用为: $id = json_decode($retval); echo $id->id;

    现在它只提取“id”。

    【讨论】:

      猜你喜欢
      • 2015-07-19
      • 2015-04-02
      • 2016-05-02
      • 2020-12-27
      • 2015-12-04
      • 2016-10-11
      • 2023-03-12
      • 2020-06-07
      • 2017-12-24
      相关资源
      最近更新 更多