С пргораммированием я знаком не очень. Вот стоит на работе задачка по извлечению данных из Гугл Аналитикс, сам я аналитик и мне этобы очень помогло для работы, у в отделе программеров тикетов до следующего года , поскольку аккаунтов там более 250 то извечение в ручную как вы понимаете не подходит стал я разбираться менюалы листать, примеры учебники справочники. Вообщем на основе примеров и другой полезной инфы в нете склепал я приложение на питоне которые вытаскивает данные что мне нужно по заданому ID.
Начало было положено, дальше чтобы добить все не обходимые ID я запустил циклы в которых у меня появилась проблемка ниже добавлю код и обьясню чтобы я хотел от Вас узнать.
Это моя мэин в ней позадавал сервисы и что где будет вызываться! Простити меня пожалуйста за кривую нюбскую терминологию!
def main(argv): # Step 1. Get an analytics service object. service = sample_utils.initialize_service() try: # Step 2. Get the user's first profile ID. profile_id = get_profile_id(service) if profile_id: # Step 3. Query the Core Reporting API. results = get_results(service, profile_id) # Step 4. Output the results. print_results(results) except TypeError, error: # Handle errors in constructing a query. print ('There was an error in constructing your query : %s' % error) except HttpError, error: # Handle API errors. print ('Arg, there was an API error : %s : %s' % (error.resp.status, error._get_reason())) except AccessTokenRefreshError: # Handle Auth errors. print ('The credentials have been revoked or expired, please re-run ' 'the application to re-authorize')
Дальше я определяю функцию которая с помощью циклов добудет мне ID пользуясь которым я вытаскиваю параметры с гугла
def get_profile_id(service): accounts = service.management().accounts().list().execute() account_list = accounts.get('items') account_list = account_list[0:10] for account in account_list: time.sleep(0.025) id = account.get('id') webproperties = service.management().webproperties().list(accountId=id).execute() webproperties = webproperties.get('items') for webproperty in webproperties: id_web = webproperty.get('id') profiles = service.management().profiles().list(accountId=id,webPropertyId=id_web).execute() profiles = profiles.get('items') for profile in profiles: profile_id = profile.get('id') return profile_id return None
def get_results(service,profile_id): return service.data().ga().get( ids='ga:' + profile_id, start_date='2013-03-23', end_date='2013-03-25', metrics='ga:visits',#ga:goalCompletionsAll,ga:pageviews',#ga:pageviewsPerVisit',#ga:timeOnSite, dimensions='ga:source',#'ga:customVarValue1', #ga:adContent', # ga:campaign', sort='-ga:visits', #filters='ga:medium==organic', #start_index='1', max_results='25')
Если можно пожалуйста с теоритическими примеры как описать или как обьявить функцию внутри функции и желательно цикла поскольку беда у меня синтаксисом да вообще с познаниями капец какая, не судите строго если что, а подскажите что да как если сможете.
Спасибо большое за внимание.