【问题标题】:Constant Contact API持续联系 API
【发布时间】:2014-06-26 23:54:36
【问题描述】:

我正在尝试编写一个简单的恒定联系脚本来添加和更新电子邮件。脚本很简单,应该可以顺利运行。但是当我开始包含 'src/Ctct/autoload.php' 时,页面只是返回空白。我尝试在另一台服务器上运行它并且它可以工作。但在我的工作服务器上,它返回空白。它使用来自 CTCT 的 OAuth 身份验证。我认为这是服务器中的设置,但我无法控制服务器,任何更改都需要转发给管理员,我只是不知道我需要更改什么。

代码如下:

require "Scripts/ConstantContact/src/Ctct/autoload.php";
use Ctct\ConstantContact;
use Ctct\Components\Contacts\Contact;
use Ctct\Components\Contacts\ContactList;
use Ctct\Components\Contacts\EmailAddress;
use Ctct\Exceptions\CtctException;

define("APIKEY", "*** Censored Media (18+ only) ***");
define("ACCESS_TOKEN", "*** Censored Media (18+ only) ***");

$cc = new ConstantContact(APIKEY);

// attempt to fetch lists in the account, catching any exceptions and printing the errors to screen
    $lists = $cc->getLists(ACCESS_TOKEN);

    $action = "Getting Contact By Email Address";
    $Email = "asdf@asdf.com";
    $FirstName = "Asdf";
    $LastName = "Ghjk";
        // check to see if a contact with the email addess already exists in the account
        $response = $cc->getContactByEmail(ACCESS_TOKEN, $Email);

        // create a new contact if one does not exist
        if (empty($response->results)) {
            $action = "Creating Contact";

            $contact = new Contact();
            $contact->addEmail($Email);
            $contact->addList('1');
            $contact->first_name = $FirstName;
            $contact->last_name = $LastName;
            $returnContact = $cc->addContact(ACCESS_TOKEN, $contact); 

        // update the existing contact if address already existed
        } else {            
            $action = "Updating Contact";

            $contact = $response->results[0];
            $contact->addList('1');
            $contact->first_name = $FirstName;
            $contact->last_name = $LastName;
            $returnContact = $cc->updateContact(ACCESS_TOKEN, $contact);  
        }

    // catch any exceptions thrown during the process and print the errors to screen


    if (isset($returnContact)) {
        echo '<div class="container alert-success"><pre class="success-pre">';
        print_r($returnContact); 
        echo '</pre></div>';
    }
print '<p>'.$action.'</p>';

同样,这适用于我尝试过的另一台服务器,但不适用于我的工作服务器。

任何帮助将不胜感激。

谢谢!

【问题讨论】:

  • 您是否可以从中注销以查看可能导致空白页的原因?你有没有想过如果发布到一个免费的(你控制它的)托管服务,以便你有更多的控制和调试?请记住,如果您移动主机,则与 API Key / Access Token 关联的 URL 需要更改。
  • 嗨,杰德。是的,我发现了导致问题的原因。正如 Mike 所说,该 API 需要 PHP 5.3 或更高版本,并且我的服务器在 PHP 5.2 上运行。我已经在另一台服务器上对其进行了测试,并且可以正常工作。干杯!

标签: php api oauth constantcontact


【解决方案1】:

您是否在另一台服务器上运行 PHP 5.3 或更高版本?域是否也发生了变化,如果是这样,可能会引发异常,导致空白页面,因为您的 API 密钥是特定于域的。随时给我发一封电子邮件,我很乐意为您提供帮助 - mstowe [at] constantcontact.com

-迈克

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 2016-05-04
    • 2013-03-05
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    相关资源
    最近更新 更多