Получить все списки пользователей с помощью 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');

Этот пример - скорее процедурный подход, конечно, я рекомендую использовать классы.

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