Я нашел эту библиотеку 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
самом деле пуста. Можно ли предположить, что эта библиотека сломана или я сделал что-то неправильно с настройкой? Можете ли вы порекомендовать любую другую библиотеку, которая может сделать то же самое или, возможно, указать мне на некоторые ресурсы, которые могут помочь мне написать мою собственную библиотеку для входа на веб-сайт амазонки и получить некоторые отчеты.
Заранее спасибо!
Я использую эту библиотеку, но я не использую credentials.ini, потому что у меня есть все учетные данные в базе данных.
Поэтому я изменил пример / 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