Este tutorial apresenta as etapas necessárias para acessar a API Reporting API v4 do Google Analytics.
1. Ative a API
Para começar a usar a API de relatórios V4 do Google Analytics, primeiro é necessário usar a ferramenta de configuração, que orienta você na criação de um projeto no Console de APIs do Google, na ativação da API e na criação de credenciais.
Criar credenciais
- Abra a página Contas de serviço. Se solicitado, selecione um projeto.
- Clique em Criar conta de serviço, digite um nome e uma descrição para a conta correspondente. Você pode usar o ID da conta de serviço padrão ou escolher um código diferente e único. Quando terminar, clique em Criar.
- A seção seguinte ,Permissões da conta de serviço (opcional), não é necessária. Clique em Continuar.
- Em Conceda aos usuários acesso a essa conta de serviço, role a tela para baixo até a seção Criar chave. Clique em Criar chave.
- No painel lateral exibido, selecione o formato da sua chave. JSON é a opção recomendada.
- Clique em Criar. Seu novo par de chave pública/privada é gerado, e o download é feito na sua máquina. Essa é a única cópia da chave. Para saber mais sobre como armazenar com segurança, consulte Como gerenciar chaves de contas de serviço.
- Clique em Fechar na caixa de diálogo Chave privada salva no seu computador e clique em Concluir para retornar à tabela das suas contas de serviço.
Adicionar conta de serviço à conta do Google Analytics
A conta de serviço recém-criada terá um endereço de e-mail com uma aparência semelhante a esta:
quickstart@PROJECT-ID.iam.gserviceaccount.com
Use esse endereço de e-mail para adicionar um usuário à vista do Google Analytics que você quer acessar pela API. Para este tutorial, são necessárias apenas permissões de leitura e análise.
2. Instale a biblioteca de cliente
Usar pip com venv é a forma recomendada de instalar pacotes Python: sudo -s apt-get install python3-venv python3 -m venv analytics-quickstart source analytics-quickstart/bin/activate pip install --upgrade google-api-python-client pip install --upgrade oauth2client
3. Configure a amostra
Você precisará criar um único arquivo chamado HelloAnalytics.py
, que conterá o código de amostra fornecido.
- Copie ou faça o download do código-fonte a seguir para
HelloAnalytics.py
. - Mova o
client_secrets.json
salvo anteriormente para o mesmo diretório que o exemplo de código. - Substitua o valor de
KEY_FILE_LOCATION
pelo caminho apropriado para o arquivoclient_secrets.json
transferido por download. - Substitua o valor de
VIEW_ID
. Você pode usar o Explorador de contas para encontrar o ID de uma vista.
"""Hello Analytics Reporting API V4.""" from apiclient.discovery import build from oauth2client.service_account import ServiceAccountCredentials SCOPES = ['https://www.googleapis.com/auth/analytics.readonly'] KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>' VIEW_ID = '<REPLACE_WITH_VIEW_ID>' def initialize_analyticsreporting(): """Initializes an Analytics Reporting API V4 service object. Returns: An authorized Analytics Reporting API V4 service object. """ credentials = ServiceAccountCredentials.from_json_keyfile_name( KEY_FILE_LOCATION, SCOPES) # Build the service object. analytics = build('analyticsreporting', 'v4', credentials=credentials) return analytics def get_report(analytics): """Queries the Analytics Reporting API V4. Args: analytics: An authorized Analytics Reporting API V4 service object. Returns: The Analytics Reporting API V4 response. """ return analytics.reports().batchGet( body={ 'reportRequests': [ { 'viewId': VIEW_ID, 'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}], 'metrics': [{'expression': 'ga:sessions'}], 'dimensions': [{'name': 'ga:country'}] }] } ).execute() def print_response(response): """Parses and prints the Analytics Reporting API V4 response. Args: response: An Analytics Reporting API V4 response. """ for report in response.get('reports', []): columnHeader = report.get('columnHeader', {}) dimensionHeaders = columnHeader.get('dimensions', []) metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', []) for row in report.get('data', {}).get('rows', []): dimensions = row.get('dimensions', []) dateRangeValues = row.get('metrics', []) for header, dimension in zip(dimensionHeaders, dimensions): print(header + ': ', dimension) for i, values in enumerate(dateRangeValues): print('Date range:', str(i)) for metricHeader, value in zip(metricHeaders, values.get('values')): print(metricHeader.get('name') + ':', value) def main(): analytics = initialize_analyticsreporting() response = get_report(analytics) print_response(response) if __name__ == '__main__': main()
4. Execute a amostra
Execute a amostra usando:
python HelloAnalytics.py
Quando você concluir essas etapas, a amostra gerará o número de sessões dos últimos sete dias para a vista específica.
Solução de problemas
AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'
Esse erro pode ocorrer no Mac OSX em que a instalação padrão do módulo "six" (uma dependência dessa biblioteca) é carregada antes do módulo que o pip instalou. Para corrigir o problema, adicione o local de instalação do pip à variável de ambiente do sistema PYTHONPATH
:
Determine o local de instalação do pip com este comando:
pip show six | grep "Location:" | cut -d " " -f2
Adicione a seguinte linha ao seu arquivo
~/.bashrc
, substituindo<pip_install_path>
pelo valor determinado acima:export PYTHONPATH=$PYTHONPATH:<pip_install_path>
Atualize o arquivo
~/.bashrc
em qualquer janela de terminal aberta usando este comando:source ~/.bashrc