API di reporting di Analytics v4; guida rapida di Python per gli account di servizio

Questo tutorial illustra i passaggi necessari per accedere alla versione 4 dell'API Analytics Reporting.

1. Abilita l'API

Per iniziare a utilizzare l'API Analytics Reporting v4, devi prima utilizzare lo strumento di configurazione, che ti guiderà nella creazione di un progetto nella console API di Google, nell'abilitazione dell'API e nella creazione delle credenziali.

Crea credenziali

  1. Apri la pagina Account di servizio. Se richiesto, seleziona un progetto.
  2. Fai clic su Crea account di servizio, quindi inserisci un nome e una descrizione per l'account di servizio. Puoi utilizzare l'ID account di servizio predefinito o sceglierne un altro univoco. Al termine, fai clic su Crea.
  3. La sezione Autorizzazioni dell'account di servizio (facoltativo) che segue non è obbligatoria. Fai clic su Continua.
  4. Nella schermata Concedi agli utenti l'accesso a questo account di servizio, scorri verso il basso fino alla sezione Crea chiave. Fai clic su Crea chiave.
  5. Nel riquadro laterale che viene visualizzato, seleziona il formato della chiave (quello consigliato è JSON).
  6. Fai clic su Crea. Viene generata e scaricata sul tuo computer una nuova coppia di chiavi pubblica/privata, che sarà l'unica copia esistente. Per informazioni su come archiviare le chiavi in modo sicuro, consulta la sezione Gestire le chiavi degli account di servizio.
  7. Fai clic su Chiudi nella finestra di dialogo Chiave privata salvata nel computer, poi fai clic su Fine per tornare alla tabella degli account di servizio.

Aggiungi un account di servizio all'account Google Analytics

L'account di servizio appena creato avrà un indirizzo email simile al seguente:

quickstart@PROJECT-ID.iam.gserviceaccount.com

Utilizza questo indirizzo email per aggiungere un utente alla vista di Google Analytics a cui vuoi accedere tramite l'API. Per questo tutorial sono necessarie solo le autorizzazioni di lettura e analisi.

2. installa la libreria client

L'utilizzo di pip insieme a venv è il modo consigliato per installare i pacchetti 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. Configura l'anteprima

Devi creare un singolo file denominato HelloAnalytics.py, che conterrà il codice campione fornito.

  1. Copia o scarica il seguente codice sorgente in HelloAnalytics.py.
  2. Sposta l'elemento client_secrets.json scaricato in precedenza nella stessa directory del codice di esempio.
  3. Sostituisci il valore di KEY_FILE_LOCATION con il percorso appropriato del client_secrets.json scaricato.
  4. Sostituisci il valore di VIEW_ID. Puoi utilizzare Esplora account per trovare un ID 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. esegui l'esempio

Esegui l'esempio utilizzando:

python HelloAnalytics.py

Al termine di questi passaggi, il campione restituisce il numero di sessioni degli ultimi sette giorni per la vista in questione.

Risoluzione dei problemi

AttributeError: l'oggetto "Module_six_moves_urllib_parse" non ha un attributo "urlparse".

Questo errore può verificarsi in Mac OSX, dove l'installazione predefinita del modulo "sei" (una dipendenza di questa libreria) viene caricata prima di quello installato da pip. Per risolvere il problema, aggiungi il percorso di installazione di pip alla variabile di ambiente di sistema PYTHONPATH:

  • Determina il percorso di installazione di pip con il seguente comando:

    pip show six | grep "Location:" | taglia -d " " -f2

  • Aggiungi la seguente riga al file ~/.bashrc, sostituendo &lt;pip_install_path&gt; con il valore determinato sopra:

    esporta PYTHONPATH=$PYTHONPATH:<pip_install_path>

  • Ricarica il file ~/.bashrc in qualsiasi finestra del terminale aperta utilizzando il seguente comando:

    origine ~/.bashrc