Попробуйте получить данные из GA, но есть ошибка тайм-аута - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь выполнить пример кода Pyton из руководства разработчиков Google, чтобы получить данные из моего аналитического профиля Google. Файл ключа JSON в порядке, и у меня есть его в локальной папке. Google Analytics API также подключен в консоли разработчика.

Но каждый раз, когда у меня возникает ошибка тайм-аута ([WinError 10060]), и в журнале консоли разработчика Google соединение не отображается. Я использую ноутбук Jupyter, а также я пытался использовать командную строку Python. Результат тот же.

#Source code from here
#https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/service-py


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

def get_service(api_name, api_version, scopes, key_file_location):

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 = 'd:/json_keyfile.json'

# 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() 

Ошибка ниже

TimeoutError: [WinError 10060] Попытка подключения не удалась, потому что подключенная сторона не ответила должным образом через некоторое время, или не удалось установить соединение, так как подключенный хост не ответил

...