Постоянный контакт API
Я пытаюсь написать простой скрипт Constant Contact для добавления и обновления писем. Сценарий достаточно прост и должен был работать без сбоев. Но когда я начинаю включать 'src/Ctct/autoload.php', страница просто возвращается пустой. Я попытался запустить его на другом сервере, и он работает. Но на моем рабочем сервере он возвращается пустым. Он использует аутентификацию OAuth от CTCT. Я думаю, что это настройка на сервере, но я не имею никакого контроля над сервером, и любые изменения должны быть направлены администратору, я просто не знаю, что мне нужно изменить.
Вот код:
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>';
Опять же, это работает на другом сервере, который я пробовал, но не работает на моем рабочем сервере.
Любая помощь будет оценена.
Спасибо!
1 ответ
Вы используете PHP 5.3 или выше на другом сервере? Также домен вообще изменился, если так, что может вызвать исключение, приводящее к пустой странице, так как ваш ключ API зависит от домена. Не стесняйтесь, напишите мне по электронной почте, и я буду рад помочь вам с этим - mstowe [at] constantcontact.com
-Майк