Analytics
180 Usuários online agora
180 Usuários online agora
Faça perguntas sobre relatórios personalizados do Google Analytics, o uso da API e do Google Tag Manager e outros recursos avançados
Guie-me
star_border
Responder

Quantidade de visitas API Analytics por Página

Calouro ✭ ✭

Opa, estou usando a API do Analytics, para contar a quantidade de visitas por página especifica, mas, sempre o total retorna 0.

 

Segue meu código:

 

function getService()
{
  // Load the Google API PHP Client Library.
  require_once '_files/google-api-php-client-master/src/Google/autoload.php';


  $service_account_email = email@white-proxy-1234.iam.gserviceaccount.com';
  $key_file_location = '_files/file-242d0bd3b.p12';

  // Create and configure a new client object.
  $client = new Google_Client();
  $client->setApplicationName("1News");
  $analytics = new Google_Service_Analytics($client);

  // Read the generated client_secrets.p12 key.
  $key = file_get_contents($key_file_location);
  $cred = new Google_Auth_AssertionCredentials(
      $service_account_email,
      array(Google_Service_Analytics::ANALYTICS_READONLY),
      $key
  );
  $client->setAssertionCredentials($cred);
  if($client->getAuth()->isAccessTokenExpired()) {
    $client->getAuth()->refreshTokenWithAssertion($cred);
  }

  return $analytics;
}

function getFirstprofileId(&$analytics) {
  // Get the user's first view (profile) ID.

  // Get the list of accounts for the authorized user.
  $accounts = $analytics->management_accounts->listManagementAccounts();

  if (count($accounts->getItems()) > 0) {
    $items = $accounts->getItems();
    $firstAccountId = $items[0]->getId();

    // Get the list of properties for the authorized user.
    $properties = $analytics->management_webproperties
        ->listManagementWebproperties($firstAccountId);

    if (count($properties->getItems()) > 0) {
      $items = $properties->getItems();
      $firstPropertyId = $items[0]->getId();

      // Get the list of views (profiles) for the authorized user.
      $profiles = $analytics->management_profiles
          ->listManagementProfiles($firstAccountId, $firstPropertyId);

      if (count($profiles->getItems()) > 0) {
        $items = $profiles->getItems();

        // Return the first view (profile) ID.
        return $items[0]->getId();

      } else {
        throw new Exception('No views (profiles) found for this user.');
      }
    } else {
      throw new Exception('No properties found for this user.');
    }
  } else {
    throw new Exception('No accounts found for this user.');
  }
}

function getResults(&$analytics, $profileId)
{
	$url="http://www.site.com.br/noticia/6/blablabla";
	
	$ids = "ga:********";
	$start_date = "2016-09-05";
	$end_date = date("Y-m-d");
	$metrics = "gaLíngua do Smileyageviews";
	//$metrics = "ga:uniquePageviews";
	$dimensions = "gaLíngua do SmileyagePath";
	$filters = "gaLíngua do SmileyagePath==/".$url;
	$optParams = array('dimensions' => $dimensions, 'filters' => $filters);
	return $analytics->data_ga->get($ids,$start_date,$end_date,$metrics,$optParams);

}

function printResults(&$results)
{
	
	//print_r($results);
	if (count($results->getRows()) > 0)
	{

	$rows = $results->getRows();
	$visits = $rows[0][1];
		echo($visits);
	} else {
		echo 0;
	}

}
$analytics = getService();
$profile = getFirstProfileId($analytics);
$results = getResults($analytics, $profile);
printResults($results);

Soluções aceitas
Marcado como Melhor Resposta.
Solução
Aceita pelo autor do tópico Leonidas W
Setembro 2016

Re: Quantidade de visitas API Analytics por Página

Calouro ✭ ✭

Problema era apenas o formato da url, que deve ser informada sem o nome do dominio.

Exibir solução no post original


Todas as respostas
Marcado como Melhor Resposta.
Solução
Aceita pelo autor do tópico Leonidas W
Setembro 2016

Re: Quantidade de visitas API Analytics por Página

Calouro ✭ ✭

Problema era apenas o formato da url, que deve ser informada sem o nome do dominio.

Quantidade de visitas API Analytics por Página

[ Editado ]
Calouro ✭

para pegar o numero de paginas indexadas e suas respectivas datas, a api suporta esta operação?