如何在Aweber中创建应用程序?

时间:2013-03-13 05:54:58

标签: php api aweber

我在https://labs.aweber.com/apps上创建了一个应用程序,并在他们的github https://github.com/aweber/AWeber-API-PHP-Library上下载了php代码。我读过他们的文档,但不是那么清楚。我不知道如何开始或先做什么。我只是一个初学者,我以前从未做过应用程序。

我首先尝试在我的网页上创建PHP脚本,希望在提交表单时能够满足所需的功能,但什么都没发生。我联系他们的支持,但他们建议制作一个应用程序,使其正常工作。

网络表单提交的流程是这样的。在主页中,用户可以输入其名称,电子邮件,电话,并且有两个无线电选项可供选择,当您选择一个时,它将重定向到另一个页面并再次填写表格并提交。我为主页和第二页创建了一个Web表单。当您在第二页上提交表单时,它应该在主页上获取详细信息(名称,电子邮件,电话和选项选项),我得到了它的工作。但是当我在我的Aweber帐户上的订阅者上查看时,第二页中的字段都是空白的。主页上的字段已经完成,每当我在第二页上填写表格并提交时,Aweber说页面已被阻止。

他们建议我为此创建一个应用程序。但我不知道如何开始,因为他们的文档是令人难以置信的。

如果你能帮助我,我真的很感激。

谢谢!

1 个答案:

答案 0 :(得分:13)

听起来你需要为该功能创建一个aweber应用程序。

我正在粘贴PHP代码,这帮助我很快得到了安装。将其加载到浏览器中并按照说明操作。 一旦准备好进行实际的API调用,您可以在labs.aweber.com/snippets/subscribers上看到一些示例。

如果您遇到任何问题,可以随时通过api@aweber.com向aweber API支持发送电子邮件。

您需要做的一些事情(如果您还没有):

  1. 创建实验室帐户(http://labs.aweber.com)和aweber帐户 (http://www.aweber.com
  2. 创建一个应用以在实验室网站上获取您的消费者密钥和秘密
  3. 从实验室网站下载AWeber php库,并确保在下面的require_once()中找到正确的路径
  4. <?php
    require_once('aweber_api/aweber_api.php');
    
    // Step 1: assign these values from https://labs.aweber.com/apps
    $consumerKey = '';
    $consumerSecret = '';
    
    // Step 2: load this PHP file in a web browser, and follow the instructions to set
    // the following variables:
    $accessKey = '';
    $accessSecret = '';
    $list_id = '';
    
    if (!$consumerKey || !$consumerSecret){
        print "You need to assign \$consumerKey and \$consumerSecret at the top of this script and reload.<br><br>" .
            "These are listed on <a href='https://labs.aweber.com/apps' target=_blank>https://labs.aweber.com/apps</a><br>\n";
        exit;
    }
    
    $aweber = new AWeberAPI($consumerKey, $consumerSecret);
    if (!$accessKey || !$accessSecret){
        display_access_tokens($aweber);
    }
    
    try { 
        $account = $aweber->getAccount($accessKey, $accessSecret);
        $account_id = $account->id;
    
        if (!$list_id){
            display_available_lists($account);
            exit;
        }
    
        print "You script is configured properly! " . 
            "You can now start to develop your API calls, see the example in this script.<br><br>" .
            "Be sure to set \$test_email if you are going to use the example<p>";
    
        //example: create a subscriber
        /*
        $test_email = '';
        if (!$test_email){
        print "Assign a valid email address to \$test_email and retry";
        exit;
        }
        $listURL = "/accounts/{$account_id}/lists/{$list_id}"; 
        $list = $account->loadFromUrl($listURL);
        $params = array( 
            'email' => $test_email,
            'ip_address' => '127.0.0.1',
            'ad_tracking' => 'client_lib_example', 
            'misc_notes' => 'my cool app', 
            'name' => 'John Doe' 
        ); 
        $subscribers = $list->subscribers; 
        $new_subscriber = $subscribers->create($params);
        print "{$test_email} was added to the {$list->name} list!";
        */
    
    } catch(AWeberAPIException $exc) { 
        print "<h3>AWeberAPIException:</h3>"; 
        print " <li> Type: $exc->type <br>"; 
        print " <li> Msg : $exc->message <br>"; 
        print " <li> Docs: $exc->documentation_url <br>"; 
        print "<hr>"; 
        exit(1); 
    }
    
    function get_self(){
        return 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
    }
    
    function display_available_lists($account){
        print "Please add one for the lines of PHP Code below to the top of your script for the proper list<br>" .
                "then click <a href='" . get_self() . "'>here</a> to continue<p>";
    
        $listURL ="/accounts/{$account->id}/lists/"; 
        $lists = $account->loadFromUrl($listURL);
        foreach($lists->data['entries'] as $list ){
            print "<pre>\$list_id = '{$list['id']}'; // list name:{$list['name']}\n</pre>";
        }
    }
    
    function display_access_tokens($aweber){
        if (isset($_GET['oauth_token']) && isset($_GET['oauth_verifier'])){
    
            $aweber->user->requestToken = $_GET['oauth_token'];
            $aweber->user->verifier = $_GET['oauth_verifier'];
            $aweber->user->tokenSecret = $_COOKIE['secret'];
    
            list($accessTokenKey, $accessTokenSecret) = $aweber->getAccessToken();
    
            print "Please add these lines of code to the top of your script:<br>" .
                    "<pre>" .
                    "\$accessKey = '{$accessTokenKey}';\n" . 
                    "\$accessSecret = '{$accessTokenSecret}';\n" .
                    "</pre>" . "<br><br>" .
                    "Then click <a href='" . get_self() . "'>here</a> to continue";
            exit;
        }
    
        if(!isset($_SERVER['HTTP_USER_AGENT'])){
            print "This request must be made from a web browser\n";
            exit;
        }
    
        $callbackURL = get_self();
        list($key, $secret) = $aweber->getRequestToken($callbackURL);
        $authorizationURL = $aweber->getAuthorizeUrl();
    
        setcookie('secret', $secret);
    
        header("Location: $authorizationURL");
        exit();
    }
    ?>