Получить все списки пользователей с помощью Aweber API
Я добавляю AWeber в качестве автоответчика в веб-приложение. Используя AWeber API, я могу добавить нового подписчика в список с известным именем, которое в данном случае является firstlist:
$app = new MyApp();
$app->findSubscriber('whtever@aol.com');
$list = $app->findList('firstlist');
$subscriber = array(
'email' => 'someemail@gmail.com',
'name' => 'Name here'
);
$app->addSubscriber($subscriber, $list);
Определение функции для findList():
function findList($listName) {
try {
$foundLists = $this->account->lists->find(array('name' => $listName));
return $foundLists[0];
}
catch(Exception $exc) {
print $exc;
}
}
Поскольку я занимаюсь разработкой общедоступного приложения, мне нужно предоставить пользователям возможность выбирать из их доступных списков. Пожалуйста, покажите мне, как я могу получить название всех списков.
2 ответа
Вы возвращаете $foundLists[0], поэтому он вернет один список. Попробуйте вернуть foundLists и проверьте, что он возвращает. Это может помочь вам: https://labs.aweber.com/snippets/lists
Короче говоря, я вытащил списки, сначала найдя идентификатор пользователя Aweber, чтобы я мог использовать его в URL https://api.aweber.com/1.0/accounts/<id>/lists
Чтобы найти идентификатор пользователя, я сначала получил учетную запись.
$this->aweber->getAccount($token['access'], $token['secret']);
Затем я получаю информацию о пользователе.
$aweber_user = $this->aweber->loadFromUrl('https://api.aweber.com/1.0/accounts');
Из этого я взял идентификатор пользователя с...
$id = $aweber_user->data['entries'][0]['id'];
Получив идентификатор пользователя, я смог получить их списки с помощью...
$lists = $this->aweber->loadFromUrl('https://api.aweber.com/1.0/accounts/'.$id.'/lists');
Этот пример - скорее процедурный подход, конечно, я рекомендую использовать классы.