Hello Analytics API: Python Quick Start برای حساب های سرویس، Hello Analytics API: Python Quick Start برای حساب های سرویس

این آموزش مراحل مورد نیاز برای دسترسی به حساب Google Analytics، پرس و جو از API های Analytics، رسیدگی به پاسخ های API و خروجی نتایج را طی می کند. Core Reporting API v3.0 ، Management API v3.0 و OAuth2.0 در این آموزش استفاده شده است.

مرحله 1: API Analytics را فعال کنید

برای شروع استفاده از Google Analytics API، ابتدا باید از ابزار راه اندازی استفاده کنید که شما را از طریق ایجاد پروژه در کنسول API Google، فعال کردن API و ایجاد اعتبارنامه راهنمایی می کند.

یک شناسه مشتری ایجاد کنید

  1. صفحه حساب‌های سرویس را باز کنید. اگر از شما خواسته شد، یک پروژه را انتخاب کنید.
  2. روی ایجاد حساب سرویس کلیک کنید، نام و توضیحاتی را برای حساب سرویس وارد کنید. می‌توانید از شناسه حساب پیش‌فرض سرویس استفاده کنید یا یک شناسه متفاوت و منحصر به فرد را انتخاب کنید. پس از اتمام روی Create کلیک کنید.
  3. بخش مجوزهای حساب سرویس (اختیاری) که در زیر آمده است مورد نیاز نیست. روی Continue کلیک کنید.
  4. در صفحه Grant users access to this service account account ، به قسمت Create key بروید. روی کلید ایجاد کلیک کنید.
  5. در پانل کناری که ظاهر می شود، قالب کلید خود را انتخاب کنید: JSON توصیه می شود.
  6. روی ایجاد کلیک کنید. جفت کلید عمومی/خصوصی جدید شما تولید و در دستگاه شما دانلود می شود. به عنوان تنها کپی این کلید عمل می کند. برای اطلاعات در مورد نحوه ذخیره ایمن آن، به مدیریت کلیدهای حساب سرویس مراجعه کنید.
  7. روی Close روی کلید خصوصی ذخیره شده در گفتگوی رایانه خود کلیک کنید، سپس روی Done کلیک کنید تا به جدول حساب های خدمات خود بازگردید.

حساب سرویس را به حساب Google Analytics اضافه کنید

حساب سرویس جدید ایجاد شده یک آدرس ایمیل خواهد داشت، <projectId>-<uniqueId>@developer.gserviceaccount.com ; از این آدرس ایمیل برای افزودن کاربری به حساب Google Analytics که می‌خواهید از طریق API به آن دسترسی داشته باشید، استفاده کنید. برای این آموزش فقط به مجوزهای Read & Analyze نیاز است.

مرحله ۲: کتابخانه Google Client را نصب کنید

می توانید از یک مدیریت بسته استفاده کنید یا کتابخانه کلاینت پایتون را به صورت دستی دانلود و نصب کنید:

پیپ

از pip ، ابزار توصیه شده برای نصب بسته های پایتون استفاده کنید:

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

ابزارهای نصب

از ابزار easy_install موجود در بسته setuptools استفاده کنید:

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

نصب دستی

آخرین کتابخانه مشتری برای پایتون را دانلود کنید، کد را باز کنید و اجرا کنید:

sudo python setup.py install

ممکن است لازم باشد برای نصب در سیستم پایتون، دستوری را با امتیازات superuser ( sudo ) فراخوانی کنید.

مرحله 3: نمونه را تنظیم کنید

شما باید یک فایل به نام HelloAnalytics.py ایجاد کنید که حاوی کد نمونه داده شده باشد.

  1. کد منبع زیر را در HelloAnalytics.py کپی یا دانلود کنید .
  2. client_secrets.json دانلود شده قبلی را در همان فهرست کد نمونه منتقل کنید.
  3. مقادیر key_file_location را با مقادیر مناسب از Developer Console جایگزین کنید.
"""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: نمونه را اجرا کنید

پس از اینکه API Analytics را فعال کردید، کتابخانه سرویس گیرنده Google APIs را برای پایتون نصب کردید و کد منبع نمونه را تنظیم کردید، نمونه آماده اجرا است.

نمونه را با استفاده از:

python HelloAnalytics.py

پس از اتمام این مراحل، نمونه نام اولین نمای Google Analytics کاربر مجاز (نمایه) و تعداد جلسات هفت روز گذشته را نمایش می دهد.

با شیء مجاز سرویس Analytics، اکنون می توانید هر یک از نمونه کدهای موجود در اسناد مرجع مدیریت API را اجرا کنید. برای مثال، می‌توانید کد را برای استفاده از روش accountSummaries.list تغییر دهید.

عیب یابی

AttributeError: شی «Module_six_moves_urllib_parse» هیچ ویژگی «urlparse» ندارد

این خطا می تواند در Mac OSX رخ دهد که در آن نصب پیش فرض ماژول "six" (وابسته این کتابخانه) قبل از نصبی که پیپ نصب شده بارگیری می شود. برای رفع مشکل، محل نصب پیپ را به متغیر محیطی سیستم PYTHONPATH اضافه کنید:

  1. محل نصب پیپ را با دستور زیر مشخص کنید:

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

  2. خط زیر را به فایل ~/.bashrc خود اضافه کنید و <pip_install_path> را با مقدار تعیین شده در بالا جایگزین کنید:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>
    
  3. فایل ~/.bashrc خود را در هر پنجره ترمینال باز با استفاده از دستور زیر بارگیری مجدد کنید:

    source ~/.bashrc
    

،

این آموزش مراحل مورد نیاز برای دسترسی به حساب Google Analytics، پرس و جو از API های Analytics، رسیدگی به پاسخ های API و خروجی نتایج را طی می کند. Core Reporting API v3.0 ، Management API v3.0 و OAuth2.0 در این آموزش استفاده شده است.

مرحله 1: API Analytics را فعال کنید

برای شروع استفاده از Google Analytics API، ابتدا باید از ابزار راه اندازی استفاده کنید که شما را از طریق ایجاد پروژه در کنسول API Google، فعال کردن API و ایجاد اعتبارنامه راهنمایی می کند.

یک شناسه مشتری ایجاد کنید

  1. صفحه حساب های سرویس را باز کنید. اگر از شما خواسته شد، یک پروژه را انتخاب کنید.
  2. روی ایجاد حساب سرویس کلیک کنید، نام و توضیحاتی را برای حساب سرویس وارد کنید. می‌توانید از شناسه حساب پیش‌فرض سرویس استفاده کنید یا یک شناسه متفاوت و منحصر به فرد را انتخاب کنید. پس از اتمام روی Create کلیک کنید.
  3. بخش مجوزهای حساب سرویس (اختیاری) که در زیر آمده است مورد نیاز نیست. روی Continue کلیک کنید.
  4. در صفحه Grant users access to this service account account ، به قسمت Create key بروید. روی کلید ایجاد کلیک کنید.
  5. در پانل کناری که ظاهر می شود، قالب کلید خود را انتخاب کنید: JSON توصیه می شود.
  6. روی ایجاد کلیک کنید. جفت کلید عمومی/خصوصی جدید شما تولید و در دستگاه شما دانلود می شود. به عنوان تنها کپی این کلید عمل می کند. برای اطلاعات در مورد نحوه ذخیره ایمن آن، به مدیریت کلیدهای حساب سرویس مراجعه کنید.
  7. روی Close روی کلید خصوصی ذخیره شده در گفتگوی رایانه خود کلیک کنید، سپس روی Done کلیک کنید تا به جدول حساب های خدمات خود بازگردید.

حساب سرویس را به حساب Google Analytics اضافه کنید

حساب سرویس جدید ایجاد شده یک آدرس ایمیل خواهد داشت، <projectId>-<uniqueId>@developer.gserviceaccount.com ; از این آدرس ایمیل برای افزودن کاربری به حساب Google Analytics که می‌خواهید از طریق API به آن دسترسی داشته باشید، استفاده کنید. برای این آموزش فقط به مجوزهای Read & Analyze نیاز است.

مرحله ۲: کتابخانه Google Client را نصب کنید

می توانید از یک مدیریت بسته استفاده کنید یا کتابخانه کلاینت پایتون را به صورت دستی دانلود و نصب کنید:

پیپ

از pip ، ابزار توصیه شده برای نصب بسته های پایتون استفاده کنید:

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

ابزارهای نصب

از ابزار easy_install موجود در بسته setuptools استفاده کنید:

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

نصب دستی

آخرین کتابخانه مشتری برای پایتون را دانلود کنید، کد را باز کنید و اجرا کنید:

sudo python setup.py install

ممکن است لازم باشد برای نصب در سیستم پایتون، دستوری را با امتیازات superuser ( sudo ) فراخوانی کنید.

مرحله 3: نمونه را تنظیم کنید

شما باید یک فایل به نام HelloAnalytics.py ایجاد کنید که حاوی کد نمونه داده شده باشد.

  1. کد منبع زیر را در HelloAnalytics.py کپی یا دانلود کنید .
  2. client_secrets.json دانلود شده قبلی را در همان فهرست کد نمونه منتقل کنید.
  3. مقادیر key_file_location را با مقادیر مناسب از Developer Console جایگزین کنید.
"""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: نمونه را اجرا کنید

پس از اینکه API Analytics را فعال کردید، کتابخانه سرویس گیرنده Google APIs را برای پایتون نصب کردید و کد منبع نمونه را تنظیم کردید، نمونه آماده اجرا است.

نمونه را با استفاده از:

python HelloAnalytics.py

پس از اتمام این مراحل، نمونه نام اولین نمای Google Analytics کاربر مجاز (نمایه) و تعداد جلسات هفت روز گذشته را نمایش می دهد.

با شیء مجاز سرویس Analytics، اکنون می توانید هر یک از نمونه کدهای موجود در اسناد مرجع مدیریت API را اجرا کنید. برای مثال، می‌توانید کد را برای استفاده از روش accountSummaries.list تغییر دهید.

عیب یابی

AttributeError: شی «Module_six_moves_urllib_parse» هیچ ویژگی «urlparse» ندارد

این خطا می تواند در Mac OSX رخ دهد که در آن نصب پیش فرض ماژول "six" (وابسته این کتابخانه) قبل از نصبی که پیپ نصب شده بارگیری می شود. برای رفع مشکل، محل نصب پیپ را به متغیر محیطی سیستم PYTHONPATH اضافه کنید:

  1. محل نصب پیپ را با دستور زیر مشخص کنید:

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

  2. خط زیر را به فایل ~/.bashrc خود اضافه کنید و <pip_install_path> را با مقدار تعیین شده در بالا جایگزین کنید:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>
    
  3. فایل ~/.bashrc خود را در هر پنجره ترمینال باز با استفاده از دستور زیر بارگیری مجدد کنید:

    source ~/.bashrc