【问题标题】:campaign monitor api get summary活动监视器 api 获取摘要
【发布时间】:2014-03-17 18:33:55
【问题描述】:

我正在使用活动监视器 API 并访问活动摘要。到目前为止,我有以下工作:

require_once '../../csrest_campaigns.php';

$auth = array('api_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxx');
$wrap = new CS_REST_Campaigns('xxxxxxxxxxxxxxxxxxxxxx', $auth);

$result = $wrap->get_summary();

echo "Result of GET /api/v3/campaigns/{id}/summary\n<br />";
if($result->was_successful()) {

    var_dump($result->response);

} else {
    echo 'Failed with code '.$result->http_status_code."\n<br /><pre>";
    var_dump($result->response);
}
echo '</pre>';

我想从上面提取某些数据,所以我添加了以下内容(替换 var_dump):

foreach($result->response as $entry) { 
        echo $entry->Recipients;
        echo $entry->TotalOpened.'<br/>';
        echo $entry->Clicks.'<br/>';
        echo $entry->Unsubscribed.'<br/>';
        echo $entry->Bounced.'<br/>';
        echo $entry->UniqueOpened.'<br/>';
        echo $entry->SpamComplaints.'<br/>';
        echo $entry->WebVersionURL.'<br/>';
        echo $entry->WebVersionTextURL.'<br/>';
        echo $entry->WorldviewURL.'<br/>';
        echo $entry->Forwards.'<br/>';
        echo $entry->Likes.'<br/>';
        echo $entry->Mentions.'<br/>';
    }

这根本没有数据显示?谁能看到我哪里出错了?

var_dump:

stdClass Object
(
    [Recipients] => 5
    [TotalOpened] => 28
    [Clicks] => 2
    [Unsubscribed] => 0
    [Bounced] => 0
    [UniqueOpened] => 4
    [SpamComplaints] => 0
    [WebVersionURL] => http://xxxxxxxxxxxxxxxx
    [WebVersionTextURL] => http://xxxxxxxxxxxxxxxxxxx
    [WorldviewURL] => http://xxxxxxxxxxxxxxxxxxx
    [Forwards] => 0
    [Likes] => 0
    [Mentions] => 0
)   

【问题讨论】:

  • 您最初的var_dump($result-&gt;response); 会打印什么?
  • 我认为不需要 foreach 循环 - echo $result-&gt;response-&gt;Recipients; 会打印什么吗?

标签: php foreach campaign-monitor


【解决方案1】:

stdClass object and foreach loops - campaign monitor api

我想你可能需要:

$campaigns = $result->response->Results;

然后:

foreach($campaigns as $s) {
    echo $s->Recipients . "\t" . $s->TotalOpened . "\n"; // etc.
}

大多数 Campaign Monitor 方法返回的对象都有一个 response->Results 结构来获取集合中的各个项目(活动、列表、订阅者等)。正如您可能看到的那样,文档没有解释最后一步 - 它只是 var_dumps 对象,尽管您可以通过检查它们来确定要做什么。确保在直接检查对象之前检查是否有任何包装器,但我发现您最终大多使用 response->Results 来获取数据数组。 皮特

【讨论】:

  • 如果您更喜欢使用数组,可以将 stdObject 转换为数组: $result = (array) $result->response;
猜你喜欢
  • 2017-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 2016-02-19
  • 1970-01-01
  • 2014-09-08
  • 2019-06-14
相关资源
最近更新 更多