Hello Analytics Reporting API v4; راه اندازی سریع پایتون برای حساب های سرویس

این آموزش مراحل لازم برای دسترسی به Analytics Reporting API v4 را طی می کند.

1. API را فعال کنید

برای شروع استفاده از Analytics Reporting API v4، ابتدا باید از ابزار setup استفاده کنید که شما را از طریق ایجاد پروژه در Google API Console، فعال کردن 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 اضافه کنید

حساب سرویس جدید ایجاد شده دارای آدرس ایمیلی است که شبیه به موارد زیر است:

quickstart@PROJECT-ID.iam.gserviceaccount.com

از این آدرس ایمیل برای افزودن کاربری به نمای Google Analytics که می‌خواهید از طریق API به آن دسترسی داشته باشید، استفاده کنید. برای این آموزش فقط به مجوزهای Read & Analyze نیاز است.

2. کتابخانه مشتری را نصب کنید

استفاده از pip همراه با venv روش توصیه شده برای نصب بسته های پایتون است: sudo -s apt-get install python3-venv python3 -m venv analytics-quickstart source analytics-quickstart/bin/activate pip install --upgrade google-api-python- کلاینت پیپ نصب -- ارتقا oauth2client

3. نمونه را راه اندازی کنید

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

  1. کد منبع زیر را در HelloAnalytics.py کپی یا دانلود کنید .
  2. client_secrets.json دانلود شده قبلی را به همان دایرکتوری کد نمونه منتقل کنید.
  3. مقدار KEY_FILE_LOCATION را با مسیر مناسب به client_secrets.json دانلود شده جایگزین کنید.
  4. مقدار VIEW_ID را جایگزین کنید. برای یافتن شناسه View می توانید از Account Explorer استفاده کنید.
"""Hello Analytics Reporting API V4."""

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


SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>'
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'


def initialize_analyticsreporting():
  """Initializes an Analytics Reporting API V4 service object.

  Returns:
    An authorized Analytics Reporting API V4 service object.
  """
  credentials = ServiceAccountCredentials.from_json_keyfile_name(
      KEY_FILE_LOCATION, SCOPES)

  # Build the service object.
  analytics = build('analyticsreporting', 'v4', credentials=credentials)

  return analytics


def get_report(analytics):
  """Queries the Analytics Reporting API V4.

  Args:
    analytics: An authorized Analytics Reporting API V4 service object.
  Returns:
    The Analytics Reporting API V4 response.
  """
  return analytics.reports().batchGet(
      body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
          'metrics': [{'expression': 'ga:sessions'}],
          'dimensions': [{'name': 'ga:country'}]
        }]
      }
  ).execute()


def print_response(response):
  """Parses and prints the Analytics Reporting API V4 response.

  Args:
    response: An Analytics Reporting API V4 response.
  """
  for report in response.get('reports', []):
    columnHeader = report.get('columnHeader', {})
    dimensionHeaders = columnHeader.get('dimensions', [])
    metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', [])

    for row in report.get('data', {}).get('rows', []):
      dimensions = row.get('dimensions', [])
      dateRangeValues = row.get('metrics', [])

      for header, dimension in zip(dimensionHeaders, dimensions):
        print(header + ': ', dimension)

      for i, values in enumerate(dateRangeValues):
        print('Date range:', str(i))
        for metricHeader, value in zip(metricHeaders, values.get('values')):
          print(metricHeader.get('name') + ':', value)


def main():
  analytics = initialize_analyticsreporting()
  response = get_report(analytics)
  print_response(response)

if __name__ == '__main__':
  main()

4. نمونه را اجرا کنید

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

python HelloAnalytics.py

وقتی این مراحل را تمام کردید، نمونه تعداد جلسات هفت روز گذشته را برای نمای داده شده خروجی می دهد.

عیب یابی

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

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

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

    پیپ شو شش | grep "مکان:" | برش -d " " -f2

  • خط زیر را به فایل ~/.bashrc خود اضافه کنید و جایگزین &lt;pip_install_path&gt; با مقدار تعیین شده در بالا:

    صادرات PYTHONPATH=$PYTHONPATH:<pip_install_path>

  • فایل ~/.bashrc خود را در هر پنجره ترمینال باز با استفاده از دستور زیر بارگیری مجدد کنید:

    منبع ~/.bashrc