Hello Analytics API: Hizmet hesapları için Python hızlı başlangıç kılavuzu

Bu eğitimde, bir Google Analytics hesabına erişmek, Analytics API'lerini sorgulamak, API yanıtlarını işlemek ve sonuçların çıktısını almak için gereken adımlar açıklanmaktadır. Bu eğiticide Core Reporting API v3.0, Management API v3.0 ve OAuth2.0 kullanılmıştır.

1. Adım: Analytics API'yi etkinleştirin

Google Analytics API'yi 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.

İstemci kimliği oluşturun

  1. Hizmet hesapları sayfasını açın. İstenirse bir proje seçin.
  2. Hizmet Hesabı Oluştur'u tıklayın, hizmet hesabı için bir ad ve açıklama girin. Varsayılan hizmet hesabı kimliğini kullanabilir veya farklı, benzersiz bir tane seçebilirsiniz. Tamamladıktan sonra Oluştur'u tıklayın.
  3. Sonraki Hizmet hesabı izinleri (isteğe bağlı) bölümü gerekli değildir. Devam'ı tıklayın.
  4. Kullanıcıların bu hizmet hesabına erişmelerine izin ver ekranında, Anahtar oluştur bölümüne gidin. Anahtar oluştur'u tıklayın.
  5. Görüntülenen yan panelde anahtar biçimini seçin: JSON önerilir.
  6. Oluştur'u tıklayın. Herkese açık/özel yeni anahtar çiftiniz oluşturulur ve makinenize indirilir; bu anahtarın tek kopyası olarak işlev görür. Güvenli şekilde nasıl depolanacağını öğrenmek için Hizmet hesabı anahtarlarını yönetme konusuna bakın.
  7. Özel anahtar bilgisayarınıza kaydedildi iletişiminde Kapat'ı tıklayın. Ardından hizmet hesapları tablosuna dönmek için Tamam'ı tıklayın.

Google Analytics hesabına hizmet hesabı ekleyin

Yeni oluşturulan hizmet hesabının bir e-posta adresi (<projectId>-<uniqueId>@developer.gserviceaccount.com) olur. API üzerinden erişmek istediğiniz Google Analytics hesabına kullanıcı eklemek için bu e-posta adresini kullanın. Yalnızca bu eğitim için Okuma ve Analiz izinleri gereklidir.

2. Adım: Google İstemci Kitaplığı'nı yükleyin

Paket yöneticisi kullanabilir veya Python istemci kitaplığını manuel olarak indirip yükleyebilirsiniz:

pip

Python paketlerini yüklemek için önerilen araç olan pip'i kullanın:

sudo pip install --upgrade google-api-python-client

Kurulum Araçları

setuptools paketinde bulunan easy_install aracını kullanın:

sudo easy_install --upgrade google-api-python-client

Manuel yükleme

Python için istemci kitaplığının en son sürümünü indirin, kodu paketten çıkarın ve aşağıdaki komutu çalıştırın:

sudo python setup.py install

Python'a sistem yüklemek için komutu süper kullanıcı (sudo) ayrıcalıklarıyla çağırmanız gerekebilir.

3. adım: Örneği oluşturun

Verilen örnek kodu içeren HelloAnalytics.py adında tek bir dosya oluşturmanız gerekir.

  1. Aşağıdaki kaynak kodu HelloAnalytics.py hesabına kopyalayın veya indirin.
  2. Daha önce indirilen client_secrets.json dosyasını örnek kodla aynı dizine taşıyın.
  3. key_file_location değerlerini Developer Console'daki uygun değerlerle değiştirin.
"""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()

4. Adım: Örneği çalıştırın

Analytics API'yi etkinleştirdikten sonra Python için Google API'leri istemci kitaplığını yükleyin ve örneğin çalışmaya hazır olduğu örnek kaynak kodunu ayarlayın.

Şunu kullanarak örneği çalıştırın:

python HelloAnalytics.py

Bu adımları tamamladığınızda örnek, yetkili kullanıcının ilk Google Analytics görünümünün (profili) adını ve son yedi gündeki oturum sayısını verir.

Yetkili Analytics hizmet nesnesiyle artık Management API referans belgelerinde bulunan kod örneklerinden herhangi birini çalıştırabilirsiniz. Örneğin, kodu accountSummaries.list yöntemini kullanacak şekilde değiştirmeyi deneyebilirsiniz.

Sorun giderme

AttributeError: "Module_six_moves_urllib_parse" nesnesi "urlparse" özelliğine sahip değil

Bu hata, "altı" modülün (bu kitaplığın bağımlılığı) varsayılan yüklemesinin pip'in yüklü olduğu modülden önce yüklendiği Mac OSX'te ortaya çıkabilir. Sorunu düzeltmek için pip'in yükleme konumunu PYTHONPATH sistem ortamı değişkenine ekleyin:

  1. Aşağıdaki komutla pip'in yükleme konumunu belirleyin:

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

  2. Aşağıdaki satırı ~/.bashrc dosyanıza ekleyerek <pip_install_path> kısmını yukarıda belirtilen değerle değiştirin:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>
    
  3. Aşağıdaki komutu kullanarak açık terminal pencerelerinde ~/.bashrc dosyanızı yeniden yükleyin:

    source ~/.bashrc