Halo Analytics Reporting API v4; panduan memulai Python untuk akun layanan

Tutorial ini membahas langkah-langkah yang diperlukan untuk mengakses Analytics Reporting API v4.

1. Mengaktifkan API

Untuk mulai menggunakan Analytics Reporting API v4, Anda harus menggunakan alat penyiapan terlebih dahulu, yang memandu Anda menyelesaikan pembuatan project di Konsol API Google, mengaktifkan API, dan membuat kredensial.

Buat kredensial

  1. Buka halaman Akun layanan. Jika diminta, pilih sebuah project.
  2. Klik Buat Akun Layanan, masukkan nama dan deskripsi untuk akun layanan. Anda dapat menggunakan ID akun layanan default, atau memilih ID yang berbeda dan unik. Setelah selesai, klik Buat.
  3. Bagian Izin akun layanan (opsional) yang ditampilkan setelahnya tidak diperlukan. Klik Lanjutkan.
  4. Pada layar Beri pengguna akses ke akun layanan ini, scroll ke bawah ke bagian Buat kunci. Klik Buat kunci.
  5. Di panel samping yang ditampilkan, pilih format untuk kunci Anda: JSON direkomendasikan.
  6. Klik Create. Pasangan kunci umum/pribadi baru Anda dibuat dan didownload ke komputer, dan berfungsi sebagai satu-satunya salinan dari kunci ini. Untuk informasi cara menyimpannya dengan aman, lihat Mengelola kunci akun layanan.
  7. Klik Tutup pada dialog Kunci pribadi disimpan ke komputer Anda, lalu klik Selesai untuk kembali ke tabel akun layanan.

Menambahkan akun layanan ke akun Google Analytics

Akun layanan yang baru dibuat akan memiliki alamat email yang terlihat mirip dengan:

quickstart@PROJECT-ID.iam.gserviceaccount.com

Gunakan alamat email ini untuk menambahkan pengguna ke tampilan Google Analytics yang ingin Anda akses melalui API. Untuk tutorial ini, hanya izin Baca & Analisis yang diperlukan.

2. Menginstal library klien

Menggunakan pip beserta venv adalah cara yang direkomendasikan untuk menginstal paket 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. Menyiapkan contoh

Anda harus membuat satu file bernama HelloAnalytics.py, yang akan berisi kode contoh yang diberikan.

  1. Salin atau download kode sumber berikut ke HelloAnalytics.py.
  2. Pindahkan client_secrets.json yang telah didownload ke direktori yang sama dengan kode contoh.
  3. Ganti nilai KEY_FILE_LOCATION dengan jalur yang sesuai ke client_secrets.json yang didownload.
  4. Ganti nilai VIEW_ID. Anda dapat menggunakan Account Explorer untuk menemukan ID Tampilan.
"""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. Menjalankan contoh

Jalankan contoh menggunakan:

python HelloAnalytics.py

Setelah Anda menyelesaikan langkah-langkah ini, contoh akan menghasilkan jumlah sesi selama tujuh hari terakhir untuk tampilan tertentu.

Pemecahan masalah

AttributeError: Objek 'Module_six_moves_urllib_parse' tidak memiliki atribut 'urlparse'

Kesalahan ini dapat terjadi di Mac OSX, di mana penginstalan default modul "enam" (dependensi dari library ini) dimuat sebelum modul yang diinstal pip. Untuk memperbaiki masalah ini, tambahkan lokasi penginstalan pip ke variabel lingkungan sistem PYTHONPATH:

  • Tentukan lokasi penginstalan pip dengan perintah berikut:

    pip tampilkan enam | grep "Location:" | cut -d " " -f2

  • Tambahkan baris berikut ke file ~/.bashrc Anda, dengan mengganti &lt;pip_install_path&gt; dengan nilai yang ditentukan di atas:

    ekspor PYTHONPATH=$PYTHONPATH:<pip_install_path>

  • Muat ulang file ~/.bashrc Anda di jendela terminal yang terbuka menggunakan perintah berikut:

    sumber ~/.bashrc