使用Aweber API检索所有用户列表


Retrieve All User Lists using Aweber API

我正在添加AWeber作为web应用程序中的自动应答器。使用AWeber API,我可以添加一个已知名称的新订阅者到列表,在这种情况下,该名称为第一个列表:

$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;
    }
}

由于我正在开发一个公共应用程序,所以我需要为用户提供一个从可用列表中进行选择的选项。请指导我如何检索所有列表名称。

您正在返回$foundLists[0],因此它将返回单个列表。尝试返回foundLists并检查它返回的内容。这可能会帮助您:https://labs.aweber.com/snippets/lists

简而言之,我通过首先查找Aweber用户Id来提取列表,以便在URL https://api.aweber.com/1.0/accounts/<id>/lists 中使用它

为了找到用户ID,我首先得到了帐户。

$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'];

一旦我有了用户ID,我就可以用。。。

$lists = $this->aweber->loadFromUrl('https://api.aweber.com/1.0/accounts/'.$id.'/lists');

这个例子更多的是一种过程性的方法,当然,我建议使用类。