Объект stdClass и циклы foreach - API монитора кампании

В настоящее время я работаю в api монитора кампании.

Вот мой код:

require_once '../../csrest_general.php';

$auth = array('api_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxx');
$wrap = new CS_REST_General($auth);

$result = $wrap->get_clients();

echo "Result of /api/v3/clients\n<br />";
if($result->was_successful()) {
    echo "Got clients\n<br /><pre>";
    var_dump($result->response);
} else {
    echo 'Failed with code '.$result->http_status_code."\n<br /><pre>";
    var_dump($result->response);
}
echo '</pre>';

Это выводит следующее:

array(2) {
  [0]=>
  object(stdClass)#5 (2) {
    ["ClientID"]=>
    string(32) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    ["Name"]=>
    string(12) "xxxxxxxxxxxx"
  }
  [1]=>
  object(stdClass)#6 (2) {
    ["ClientID"]=>
    string(32) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    ["Name"]=>
    string(15) "xxxxxxxxxxxx"
  }

}

Как мне поместить это в цикл foreach? когда я попробую следующее:

foreach ($result as $result->response) {
     echo $result;
}

я получаю эту ошибку:

Исправляемая фатальная ошибка: объект класса CS_REST_Wrapper_Result не может быть преобразован в строку

1 ответ

Спасибо Марку Батлеру за ответ, поэтому я добавил его решение:

foreach($result->response as $entry) { echo $entry->ClientID; }

В общих чертах, чтобы получить доступ к содержимому результатов Campaign Monitor, вам нужно получить доступ к части response->Results объекта, возвращенного методом. К сожалению, это не ясно из API или документации, которая имеет тенденцию просто 'print_var' объекты, возвращаемые из вызовов метода.

Например, перечисление подписчиков в списке:

require_once '/csrest_lists.php';
$sList = new CS_REST_Lists(YOUR_CM_LIST_ID,YOUR_CM_ACCT_KEY);
$sSubscribers = $sList->get_active_subscribers()->response->Results; // return results
foreach($sSubscribers as $s) {
    echo $s->EmailAddress . "\t" . $s->Name . "\t" . $s->State . "\n";
}

Надеюсь, что это полезно для людей - спасибо danyo за вопрос - в настоящее время их мало на SO. Пит

Другие вопросы по тегам