مرحبًا Analytics Reporting API الإصدار 4، التشغيل السريع للغة بايثون لحسابات الخدمة

يرشدك هذا الدليل التعليمي إلى الخطوات المطلوبة للوصول إلى الإصدار 4 من Analytics Reporting API.

1- تفعيل واجهة برمجة التطبيقات

لبدء استخدام الإصدار 4 من Analytics Reporting API، عليك أولاً استخدام أداة الإعداد التي ترشدك خلال إنشاء مشروع في وحدة التحكم في Google API وتفعيل واجهة برمجة التطبيقات وإنشاء بيانات الاعتماد.

إنشاء بيانات اعتماد

  1. افتح صفحة حسابات الخدمة. اختَر مشروعًا إذا طُلب منك ذلك.
  2. انقر على إنشاء حساب للخدمة ثم أدخِل اسمًا ووصفًا لحساب الخدمة. يمكنك استخدام معرّف حساب الخدمة التلقائي أو اختيار معرّف فريد مختلف. وعند الانتهاء من ذلك، انقر على إنشاء.
  3. قسم أذونات حساب الخدمة (اختيارية) التالي غير مطلوب. انقر على متابعة.
  4. انتقِل إلى القسم إنشاء مفتاح في أسفل شاشة منح المستخدمين صلاحية الوصول إلى حساب الخدمة هذا. انقر على إنشاء مفتاح.
  5. في اللوحة الجانبية التي تظهر، اختَر التنسيق الخاص بالمفتاح: وننصح باستخدام JSON.
  6. انقر على إنشاء. يتم إنشاء زوج المفتاح العام/الخاص وتنزيله على جهازك، وهو النسخة الوحيدة من هذا المفتاح. للحصول على معلومات عن طريقة التخزين الآمن للمفتاح، يُرجى مراجعةإدارة مفاتيح حساب الخدمة.
  7. انقر على إغلاق في مربّع الحوار تم حفظ المفتاح الخاص على الكمبيوتر، ثم انقر على تم للرجوع إلى جدول حسابات الخدمة.

إضافة حساب الخدمة إلى حساب "إحصاءات Google"

سيكون لحساب الخدمة الذي تم إنشاؤه حديثًا عنوان بريد إلكتروني يبدو مشابهًا لما يلي:

quickstart@PROJECT-ID.iam.gserviceaccount.com

يمكنك استخدام عنوان البريد الإلكتروني هذا لإضافة مستخدم إلى ملف "إحصاءات Google" الشخصي الذي تريد الوصول إليه عبر واجهة برمجة التطبيقات. يتطلب هذا البرنامج التعليمي أذونات القراءة والتحليل فقط.

2. تثبيت مكتبة البرامج

إنّ استخدام pip مع venv هو الطريقة الموصى بها لتثبيت حزم Python : sudo -s apt-get install python3-venv python3 -m venv analytics-start source analytics-quickstart/bin/activate pip install --upgrade google-api-python-client authauth install --upgrade google-api-python-client authauth install --upgrade

3- إعداد النموذج

يجب إنشاء ملف واحد باسم HelloAnalytics.py، يتضمّن الرمز النموذجي المحدّد.

  1. انسخ أو نزِّل رمز المصدر التالي إلى HelloAnalytics.py.
  2. انقل ملف client_secrets.json الذي سبق تنزيله إلى الدليل نفسه الذي يتضمّن الرمز النموذجي.
  3. استبدِل قيمة KEY_FILE_LOCATION بالمسار المناسب لـ client_secrets.json التي تم تنزيلها.
  4. استبدِل قيمة VIEW_ID. يمكنك استخدام مستكشف الحساب للعثور على رقم تعريف ملف شخصي.
"""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 حيث يتم تحميل التثبيت الافتراضي للوحدة "ستة" (وهي تبعية لهذه المكتبة) قبل الوحدة التي تم تثبيتها باستخدام نافذة pip. لحلّ المشكلة، أضِف موقع تثبيت pip إلى متغير بيئة نظام PYTHONPATH:

  • حدِّد مكان تثبيت pip باستخدام الأمر التالي:

    عرض صور 6 | grep "الموقع:" | قص -d " " -f2

  • أضِف السطر التالي إلى ملف ~/.bashrc، مع استبدال &lt;pip_install_path&gt; بالقيمة المحددة أعلاه:

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

  • أعد تحميل ملف ~/.bashrc في أي نوافذ طرفية مفتوحة باستخدام الأمر التالي:

    المصدر ~/.bashrc