- Run the command:
composer require "aseo/api:*"
- Clone this repository:
git clone git@github.com:analyticsseo/php-api-client.git
- Change to the cloned folder, e.g.:
cd php-api-client
- Run command
composer install
- Browse to folder
tests\functional
- Edit file
serps.php
, add your credentials, and save. - Run
php serps.php
Do not forget to edit the
serps.php
file and add your credentials, or all tests will fail
<?php
// Uncomment the following if you run this file directly, any modern framework
// deals with autoloading out of the box.
// include '<PATH TO COMPOSER AUTOLOAD FILE';
// Initialize the HTTP Transport Layer.
$guzzle = new Guzzle\Http\Client('http://v3.api.analyticsseo.com');
// Setup Request Authentication.
$auth = new Aseo\Api\Auth\KeyAuth;
// Do not forget to change API_KEY, API_SECRET, and SALT with
// the values provided by Analytics SEO.
$auth->setApiKey(API_KEY);
$auth->setApiSecret(API_SECRET);
$auth->setSalt(SALT);
// The V3 SERPs Client.
$serps = new Aseo\Api\V3\Serps\SerpsApiClient($guzzle, $auth);
// Set to true to output raw http requests.
$serps->debug = false;
// Define query paramaters, as per documentation.
$query = array(
'region'=>'global',
'search_engine' => 'google',
'phrase' => 'abc',
'language' => 'en',
);
// Create a SERPs request object.
$data = new Aseo\Api\V3\Serps\SerpsRequest($query);
// Make the call.
$searchResultsResponse = $serps->searchResults($data);
// Store the job id, this will be used to fetch the data as soon as the job is
// done.
$jobId = $searchResultsResponse['jid'];
// Check to see if job is ready. If not, try again later. You can also execute
// all queries, store the job ids, and later query to see each job id is ready.
while (true) {
$fetchJobResponse = $serps->fetchJobData($jobId);
if (false == $fetchJobResponse['ready']) {
sleep(60);
continue;
}
var_export($fetchJobResponse);
break;
}