Merhaba Analytics Reporting API v4; Yüklü uygulamalar için Python hızlı başlangıç kılavuzu

Bu eğitimde, Analytics Reporting API v4'e erişmek için gereken adımlar açıklanmaktadır.

1. API'yi etkinleştirme

Analytics Reporting API v4'ü kullanmaya başlamak için önce kurulum aracını kullanmanız gerekir. Bu araç, Google API Konsolu'nda proje oluşturma, API'yi etkinleştirme ve kimlik bilgileri oluşturma konusunda size rehberlik eder.

Not: Web İstemcisi Kimliği veya Yüklü Uygulama İstemcisi oluşturmak için izin ekranında bir ürün adı ayarlamanız gerekir. Henüz yapmadıysanız İzin ekranını yapılandırmanız istenir.

Kimlik bilgileri oluştur

  • Credentials (Kimlik Bilgileri) sayfasını açın.
  • Kimlik bilgisi oluştur'u tıklayın ve OAuth istemci kimliği'ni seçin.
  • Uygulama türü olarak Diğer'i seçin.
  • İstemci kimliğini hızlı başlangıç olarak adlandırın ve Oluştur'u tıklayın.

Kimlik bilgileri sayfasından yeni oluşturulan istemci kimliğini tıklayın ve JSON'yi indir'i tıklayıp client_secrets.json olarak kaydedin. Daha sonra bu eğiticiye ihtiyacınız olacaktır.

2. İstemci kitaplığını yükleme

Python paketlerini yüklemek için vepv ile birlikte venv'i kullanmanız önerilir: 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. Örneği ayarlama

Belirtilen örnek kodunu içerecek, HelloAnalytics.py adlı tek bir dosya oluşturmanız gerekir.

  1. Aşağıdaki kaynak kodunu kopyalayın veya HelloAnalytics.py adresine indirin.
  2. Daha önce indirilen client_secrets.json öğesini örnek kodla aynı dizine taşıyın.
  3. VIEW_ID değerini değiştirin. Görünüm Kimliğini bulmak için Hesap Gezgini'ni kullanabilirsiniz.
"""Hello Analytics Reporting API V4."""

import argparse

from apiclient.discovery import build
import httplib2
from oauth2client import client
from oauth2client import file
from oauth2client import tools

SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
CLIENT_SECRETS_PATH = 'client_secrets.json' # Path to client_secrets.json file.
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'


def initialize_analyticsreporting():
  """Initializes the analyticsreporting service object.

  Returns:
    analytics an authorized analyticsreporting service object.
  """
  # Parse command-line arguments.
  parser = argparse.ArgumentParser(
      formatter_class=argparse.RawDescriptionHelpFormatter,
      parents=[tools.argparser])
  flags = parser.parse_args([])

  # Set up a Flow object to be used if we need to authenticate.
  flow = client.flow_from_clientsecrets(
      CLIENT_SECRETS_PATH, scope=SCOPES,
      message=tools.message_if_missing(CLIENT_SECRETS_PATH))

  # Prepare credentials, and authorize HTTP object with them.
  # If the credentials don't exist or are invalid run through the native client
  # flow. The Storage object will ensure that if successful the good
  # credentials will get written back to a file.
  storage = file.Storage('analyticsreporting.dat')
  credentials = storage.get()
  if credentials is None or credentials.invalid:
    credentials = tools.run_flow(flow, storage, flags)
  http = credentials.authorize(http=httplib2.Http())

  # Build the service object.
  analytics = build('analyticsreporting', 'v4', http=http)

  return analytics

def get_report(analytics):
  # Use the Analytics Service Object to query the Analytics Reporting API V4.
  return analytics.reports().batchGet(
      body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
          'metrics': [{'expression': 'ga:sessions'}]
        }]
      }
  ).execute()


def print_response(response):
  """Parses and prints the 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', [])
    rows = report.get('data', {}).get('rows', [])

    for row in 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. Örneği çalıştırma

Örneği kullanarak:

python HelloAnalytics.py
  • Uygulama, yetkilendirme sayfasını bir tarayıcıda yükler.
  • Google hesabınıza giriş yapmadıysanız giriş yapmanız istenir. Birden fazla Google hesabına giriş yaptıysanız yetkilendirme için kullanılacak bir hesap seçmeniz istenir.

Bu adımları tamamladığınızda örnek, söz konusu görünüm için son yedi gündeki oturum sayısını gösterir.

Sorun giderme

Özellik Hatası: 'Module_six_moves_urllib_parse' nesnenin 'urlparse' özelliği yok

Bu hata, Mac® X'te ortaya çıkan ve "altı birim" modülünün (bu kitaplığın bağımlılığı) varsayılan kurulumunun, yüklenen pifiden önce yüklendiği durumlarda gerçekleşir. Bu sorunu düzeltmek için pip' uygulamasının yükleme konumunu PYTHONPATH sistem ortamı değişkenine ekleyin:

  • Pip' uygulamasının yükleme konumunu aşağıdaki komutla belirleyin:

    pip göster altı | grep "Konum:" | kes -d " " -f2

  • Aşağıdaki satırı ~/.bashrc dosyanıza ekleyerek &lt;pip_install_path&gt; alanını yukarıda belirtilen değerle değiştirin:

    dışa aktarma PÎONPATH=$PÎONPATH:<pip_install_path>

  • Aşağıdaki komutu kullanarak ~/.bashrc dosyanızı tüm açık terminal pencerelerinde yeniden yükleyin:

    kaynak ~/.bashrc