2016-03-31 43 views
0

Python'da oldukça yeni ve Google Analytics API'sı yardımından şu komut dosyasını aldım. Veri alıp veriyorum, ancak ilk google hesabını almayı, birden fazla GA hesabım olduğunu ve yalnızca bir tane belirtmek istediğimi belirtir. Herhangi bir yardım harika olur mu?Google Analytics ile Python Googles komut dosyalarından belirli bir Google Hesabı sorgulama

Teşekkür

Craig

"""A simple example of how to access the Google Analytics API.""" 

import argparse 

from apiclient.discovery import build 
from oauth2client.service_account import ServiceAccountCredentials 

import httplib2 
from oauth2client import client 
from oauth2client import file 
from oauth2client import tools 



def get_service(api_name, api_version, scope, key_file_location, 
       service_account_email): 
    """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. 
    scope: A list auth scopes to authorize for the application. 
    key_file_location: The path to a valid service account p12 key file. 
    service_account_email: The service account email address. 

    Returns: 
    A service that is connected to the specified API. 
    """ 

    credentials = ServiceAccountCredentials.from_p12_keyfile(
    service_account_email, key_file_location, scopes=scope) 

    http = credentials.authorize(httplib2.Http()) 

    # Build the service object. 
    service = build(api_name, api_version, http=http) 

    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): %s' % results.get('profileInfo').get('profileName') 
    print 'Total Sessions: %s' % 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'] 

    # Use the developer console and replace the values with your 
    # service account email and relative location of your key file. 
    service_account_email = '<Replace with your service account email address.>' 
    key_file_location = '<Replace with /path/to/generated/client_secrets.p12>' 

    # Authenticate and construct service. 
    service = get_service('analytics', 'v3', scope, key_file_location, 
    service_account_email) 
    profile = get_first_profile_id(service) 
    print_results(get_results(service, profile)) 


if __name__ == '__main__': 
    main() 

cevap

0

Comment (veya kaldırma) aşağıdaki satırı: manuel olarak sorgulamak istediğiniz profilin kimliğini girmek

profile = get_first_profile_id(service) 

sonraki satırda ikinci parametre

Profil kimliğini almak için, kimliği doğrulanmış hesapların size özel sorgulara izin veren güzel bir google aracı olan query explorer adresini ziyaret edebilirsiniz (örn. Analytics'e erişimi olan Google Hesabı ile giriş yapmanız gerekir).

enter image description here

Veya analitik hesaba var ve raporlarda url'deki bak: Sen "kimlikleriyle" alanından profil kimliği alabilirsiniz.

https://analytics.google.com/analytics/web/?authuser=0#report/defaultid/a1111110w65439246p123456789/ 

Profil kimliği URL'nin sonundadır ("p" karakterinden sonra).

+0

Merhaba, teşekkürler. Mükemmel çalışıyor! –

0

this post'a bakın ve Google Analytics Python örnek kodunu uyarlayan bir kod var ve birden çok profil kimliğini ekleyebilirsiniz. cevap için

profile_ids = profile_ids = {'My Profile 1': '1234567', 
          'My Profile 2': '1234568', 
          'My Profile 3': '1234569', 
          'My Profile 4': '1234561'} 

# Uncomment this line & replace with 'profile name': 'id' to query a single profile 
# Delete or comment out this line to loop over multiple profiles. 

## profile_ids = {'ryanpraski': '1234567'} 

-Ryan