por Cesar Cassiano Schimanco

Exibir dados do Google Analytics com ASP.NET C# usando Google Analytics API

Neste artigo vou mostra como usar a API de exportação de dados do Google Analytics usando C# - ASP.NET.
Podemos listar contas, inclusive fazer download dos dados do Google Analytics.

Download das 3 DLLs necessarias aqui.

Se preferir faça download da API .NET - Google Data API no link abaixo
http://code.google.com/p/google-gdata/downloads/detail?name=Google_Data_API_Setup_1.8.0.0.msi&can=2&q=

Ou então faça o download do projeto completo no final do artigo.

 

Copie as 3 DLLs, Google.GData.Client.dll, Google.GData.Analytics.dll e Google.GData.Extensions.dll para a pasta bin do projeto.
Crie uma página Default.aspx para listar suas contas do Google Analytics. Para quem tem apenas uma conta, esse passo pode parecer meio inútil, mas para quem tem várias, ajuda.

Default.aspx

<asp:Repeater ID="repContas" runat="server">
	<ItemTemplate>
		<a href="Detalhes.aspx?profileId=<%# Eval("Value") %>">
			<%# Eval("Key") %>: <%# Eval("Value") %>
		</a>
	</ItemTemplate>
</asp:Repeater>

Default.aspx.cs

using Google.GData.Analytics;
using Google.GData.Extensions;
...

protected void Page_Load(object sender, EventArgs e)
{
	const string USERNAME = "usuario@gmail.com"; //Usuario
	const string PASSWORD = "senha"; //Senha
	AccountQuery query = new AccountQuery();
	AnalyticsService service = new AnalyticsService("AnalyticsSampleApp");
	service.setUserCredentials(USERNAME, PASSWORD);

	AccountFeed accountFeed = service.Query(query);
	// Criando um Dictionary para popular o Repeater
	Dictionary<string, string> dic = new Dictionary<string, string>();
	
	foreach (AccountEntry entry in accountFeed.Entries)
	{
		//Adicionando itens no Dictionary
		dic.Add(entry.Title.Text, entry.ProfileId.Value);
	}

	//Populando o Repeater
	repContas.DataSource = dic;
	repContas.DataBind();
}

Resultado:

Agora vamos criar a página Detalhes.aspx para mostrar os detalhes das contas.
Vou fazer uma consulta simple,  visits + pageviews dos últimos 7 dias.

Detalhes.aspx

<asp:Repeater ID="repContas" runat="server">
	<HeaderTemplate>
		<table style="width:400px">
			<tr>
				<td><strong>Data</strong></td>
				<td><strong>Visitas</strong></td>
				<td><strong>Visitantes</strong></td>
			</tr>
	</HeaderTemplate>
	<ItemTemplate>
			<tr>
				<td><%# Convert.ToString(Eval("Title.Text")).Replace("ga:date=", "") %></td>
				<td><%# Eval("Metrics[0].Value")%></td>
				<td><%# Eval("Metrics[1].Value")%></td>
			</tr>
	</ItemTemplate>
	<FooterTemplate>
		</table>
	</FooterTemplate>
</asp:Repeater>

Detalhes.aspx.cs

using Google.GData.Analytics;
using Google.GData.Extensions;
...

protected void Page_Load(object sender, EventArgs e)
{
	const string USERNAME = "usuario@gmail.com"; //Usuario
	const string PASSWORD = "senha"; //Senha
	//Google Analytics Account Feed
	const string dataFeedUrl = "https://www.google.com/analytics/feeds/data";
	//Pegando o Profile ID que vem por QueryString "Default.aspx?profileId=ProfileID"
	string profileId = Request.QueryString["profileId"]; //

	AnalyticsService service = new AnalyticsService("AnalyticsSampleApp");
	service.setUserCredentials(USERNAME, PASSWORD);
	DataQuery query = new DataQuery(dataFeedUrl);

	query.Ids = profileId;
	//Use virgula para separa
	query.Metrics = "ga:visits,ga:visitors"; //pegar métricas
	query.Dimensions = "ga:date"; //pegar dimesões
	//para ordenar de forma decrescente use sinal de negativo 
	query.Sort = "-ga:date,ga:visits"; //Ordenar
	//Data de inicio
	query.GAStartDate = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd");
	//Data de fim
	query.GAEndDate = DateTime.Now.ToString("yyyy-MM-dd");

	DataFeed dataFeed = service.Query(query);

	repContas.DataSource = dataFeed.Entries;
	repContas.DataBind();
}

Resulatdo:

Para mais detalhes você pode ver as consultas mais comuns à API de exportação de dados no link abaixo.

API de exportação de dados - Consultas comuns
http://code.google.com/intl/pt-BR/apis/analytics/docs/gdata/gdataCommonQueries.html

Tem tambem este documento que descreve todas as dimensões e métricas disponíveis através do feed de dados da API de exportação de dados.

Referência de dimensões e métricas
http://code.google.com/intl/pt-BR/apis/analytics/docs/gdata/gdataReferenceDimensionsMetrics.html

Download do Projeto

Comentários

Carregando comentários

Postar um novo comentário



Processando...