Как получать отчеты от партнера Amazon


Я нашел эту библиотеку PHP-Oara https://github.com/fubralimited/php-oara на Github, и я уже все настроил.

$networkName = "Amazon"; //Ex: AffiliateWindow
//Retrieving the credentials for the network
$config = Zend_Registry::getInstance()->get('credentialsIni');

$configName = strtolower($networkName);
$credentials = $config->$configName->toArray();

//Path for the cookie located inside the Oara/data/curl folder
$credentials["cookiesDir"] = "example";
$credentials["cookiesSubDir"] = $networkName;
$credentials["cookieName"] = "test";

//The name of the network, It should be the same that the class inside Oara/Network
$credentials['networkName'] = $networkName;
//Which point of view "Publisher" or "Advertiser"
$credentials['type'] = "Publisher";
//The Factory creates the object

$network = Oara_Factory::createInstance($credentials);

Я также добавил необходимые сведения в файл credentials.ini:

;------------Amazon (All the newtwork are available)------------

;The user name used in Amazon associates to log in
amazon.user = 'my amazon affiliate email'

;The password used in Amazon associates to log in
amazon.password = 'my amazon affiliate password'

;Network we are going to log in: uk, es, us, ca, de, fr, it, jp, cn.
amazon.network = 'us'

Но я получаю следующую ошибку:

Failed to find log in form!

Сначала я подумал, что это просто название формы входа в систему:

if (!preg_match('/<form name="signIn".*?<\/form>/is', $page, $form)) {
    die('Failed to find log in form!');
}

Так как имя в https://affiliate-program.amazon.com на самом деле sign_in, но когда я изменил его на это, он не имеют какой-либо эффект.

Но реальная проблема заключается в том, что переменная $page на самом деле пуста. Можно ли с уверенностью предположить, что эта библиотека повреждена или я сделал что-то не так с настройкой? Можете ли вы порекомендовать какую-либо другую библиотеку, которая может сделать то же самое, или, возможно, указать мне на некоторые ресурсы, которые могут помочь мне написать свою собственную библиотеку для входа на партнерский сайт amazon и получения некоторых отчетов.

Заранее спасибо!

Author: user225269, 2013-06-27

1 answers

Я использую эту библиотеку, но я не использую файл credentials.ini, потому что у меня есть все учетные данные в базе данных.

Поэтому я изменил example/generic.php чтобы добавить учетные данные программно:

$email = ...;
$password = ...;
$network = ...;
$networkName = "Amazon";
$networkType = "Publisher";


$credentials = array();

//Path for the cookie located inside the Oara/data/curl folder
$credentials["cookiesDir"] = "example";
$credentials["cookiesSubDir"] = $networkName;
$credentials["cookieName"] = "test";

$credentials["user"] = $email;
$credentials["password"] = $password;
$credentials["network"] = $network;
$credentials['networkName'] = $networkName;
$credentials['type'] = $networkType;

//The Factory creates the object
$network = Oara_Factory::createInstance($credentials);
Oara_Test::testNetwork($network);

И я могу войти в систему и получить доступ к данным Amazon. Возможно, с тех пор, как вы написали этот пост, в библиотеке произошли некоторые обновления. Я могу сказать, что теперь это работает.

Результат, который я получаю, таков:

Total Number of payments: XX

Number of merchants: XX


importing from 01-08-2013 00:00:00 to 31-08-2013 23:59:59
Number of transactions: XX

Number register on the overview: XX


importing from 01-09-2013 00:00:00 to 30-09-2013 23:59:59
Number of transactions: XX

Number register on the overview: XX


importing from 01-10-2013 00:00:00 to 05-10-2013 23:59:59
Number of transactions: XX

Number register on the overview: XX

Import finished 
 1
Author: Néstor, 2013-10-06 08:53:53