Este tutorial mostra as etapas necessárias para acessar uma conta do Google Analytics, consultar as APIs do Google Analytics, lidar com as respostas da API e gerar os resultados. A API Core Reporting v3.0, a API Management v3.0 e o OAuth2.0 são usados neste tutorial.
Etapa 1: ativar a API Google Analytics
Para começar a usar a API Google Analytics, primeiro use a ferramenta de configuração, que fornece orientações para você criar um projeto no console de APIs do Google, ativar a API e criar credenciais.
Criar um ID de cliente
- 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, <projectId>-<uniqueId>@developer.gserviceaccount.com
. Use esse endereço de e-mail para adicionar um usuário à conta do Google Analytics que você quer acessar pela API.
Neste tutorial, são necessárias apenas permissões de leitura e análise.
Etapa 2: Instalar a biblioteca de cliente do Google
Você pode usar um gerenciador de pacotes ou fazer o download e instalar a biblioteca de cliente do Python manualmente:
pip
Use pip, a ferramenta recomendada para a instalação de pacotes Python:
sudo pip install --upgrade google-api-python-client
Setuptools
Use a ferramenta easy_install incluída no pacote setuptools:
sudo easy_install --upgrade google-api-python-client
Instalação manual
Faça o download da biblioteca de cliente para python mais recente, descompacte o código e execute:
sudo python setup.py install
Talvez seja necessário invocar o comando com privilégios de superusuário (sudo
) para instalar no Python do sistema.
Etapa 3: configurar a amostra
Você precisará criar um único arquivo chamado HelloAnalytics.py
, que conterá o exemplo de código 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 os valores de
key_file_location
pelos valores apropriados do Play Console.
"""A simple example of how to access the Google Analytics API.""" from apiclient.discovery import build from oauth2client.service_account import ServiceAccountCredentials def get_service(api_name, api_version, scopes, key_file_location): """Get a service that communicates to a Google API. Args: api_name: The name of the api to connect to. api_version: The api version to connect to. scopes: A list auth scopes to authorize for the application. key_file_location: The path to a valid service account JSON key file. Returns: A service that is connected to the specified API. """ credentials = ServiceAccountCredentials.from_json_keyfile_name( key_file_location, scopes=scopes) # Build the service object. service = build(api_name, api_version, credentials=credentials) return service def get_first_profile_id(service): # Use the Analytics service object to get the first profile id. # Get a list of all Google Analytics accounts for this user accounts = service.management().accounts().list().execute() if accounts.get('items'): # Get the first Google Analytics account. account = accounts.get('items')[0].get('id') # Get a list of all the properties for the first account. properties = service.management().webproperties().list( accountId=account).execute() if properties.get('items'): # Get the first property id. property = properties.get('items')[0].get('id') # Get a list of all views (profiles) for the first property. profiles = service.management().profiles().list( accountId=account, webPropertyId=property).execute() if profiles.get('items'): # return the first view (profile) id. return profiles.get('items')[0].get('id') return None def get_results(service, profile_id): # Use the Analytics Service Object to query the Core Reporting API # for the number of sessions within the past seven days. return service.data().ga().get( ids='ga:' + profile_id, start_date='7daysAgo', end_date='today', metrics='ga:sessions').execute() def print_results(results): # Print data nicely for the user. if results: print 'View (Profile):', results.get('profileInfo').get('profileName') print 'Total Sessions:', results.get('rows')[0][0] else: print 'No results found' def main(): # Define the auth scopes to request. scope = 'https://www.googleapis.com/auth/analytics.readonly' key_file_location = '<REPLACE_WITH_JSON_FILE>' # Authenticate and construct service. service = get_service( api_name='analytics', api_version='v3', scopes=[scope], key_file_location=key_file_location) profile_id = get_first_profile_id(service) print_results(get_results(service, profile_id)) if __name__ == '__main__': main()
Etapa 4: executar a amostra
Depois de você ter ativado a API Google Analytics, instalado a biblioteca cliente das APIs do Google para Python e configurado o código-fonte da amostra, ela está pronta para ser executada.
Execute a amostra usando:
python HelloAnalytics.py
Quando você concluir essas etapas, a amostra gerará o nome da primeira vista (perfil) do Google Analytics do usuário autorizado, além do número de sessões dos últimos sete dias.
Com o objeto de serviço autorizado do Google Analytics, agora você pode executar qualquer uma das amostras de código nos documentos de referência da API Management. Por exemplo, tente alterar o código para usar o método accountSummaries.list.
Solução de problemas
AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'
Esse erro pode ocorrer no Mac OSX onde 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 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 aberto usando este comando:source ~/.bashrc