Omniture API перерыв с просьбой быстро

Я использую AdobeDigitalMarketing API (https://github.com/Adobe-Marketing-Cloud/marketing-cloud-php-sdk) для вызова API-интерфейсов для получения данных Omniture.

Этот скрипт работает нормально:

   define('OMNITURE_USERNAME', 'XXX');
define('OMNITURE_SECRET', 'XXX');
define('ROOT', dirname(__FILE__));

require_once(ROOT.'/lib/AdobeDigitalMarketing/Autoloader.php');
AdobeDigitalMarketing_Autoloader::register();

$adm = new AdobeDigitalMarketing_Client();
$adm->authenticate(OMNITURE_USERNAME, OMNITURE_SECRET);

echo $adm->getCompanyApi()->getEndpoint('Ford EU');

$reportApi = $adm->getReportApi();$response = $reportApi->queueRanked(array(
'reportSuiteID' => 'fmeuesprod',
'date'     => date('Y-m-d', strtotime("-1 day")),
'metrics'  => array(
array('id' => 'instances'),
),
'elements' => array(
array('id' => 'prop11'),
),
'segments' => array(
array('id' => 'prop11', 'selected' => array('brand:vehicle:brochures:interactive'))
),
'segment_id' => 'dw:80632'

));

$reportId = $response['reportID'];
//echo $reportId;

//$reportId = '67854594';

do {
$report = $reportApi->getReport($reportId);
sleep(2);
} while ($report['status'] == 'not ready');

print_r($report['report']);

Но если я позвоню несколько раз, верните это:

Fatal error: Uncaught exception 'AdobeDigitalMarketing_Api_ReportError' with message 'A system error has occurred' in /var/www/OmnitureAPI/lib/AdobeDigitalMarketing/Api/Report.php:202 Stack trace: #0 /var/www/OmnitureAPI/lib/AdobeDigitalMarketing/Api/Report.php(84): AdobeDigitalMarketing_Api_Report->returnResponse(Array) #1 /var/www/OmnitureAPI/test.php(43): AdobeDigitalMarketing_Api_Report->getReport(67856255) #2 {main} thrown in /var/www/OmnitureAPI/lib/AdobeDigitalMarketing/Api/Report.php on line 202

Если я подожду около 5 минут и нажму F5, скрипт сработает, если снова нажать F5, вернем ошибку …
Документация по API ничего не показывает об этом, и мне нужно каждый раз вызывать этот скрипт с разными датами.

Любая идея, чтобы решить это?

Спасибо!

1

Решение

я нашел проблему:

API 1.3 теперь «устарел», если изменить API перед входом в систему, все работает:

    $adm = new AdobeDigitalMarketing_Client();

$adm->getHttpClient()->setOption('api_version', '1.4');

$adm->authenticate(OMNITURE_USERNAME, OMNITURE_SECRET);

Спасибо всем за помощь и комментарии!

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector