مرحبًا، الإصدار 4 من واجهة برمجة التطبيقات لإعداد التقارير في "إحصاءات Google"، ودليل البدء السريع لاستخدام Python لحسابات الخدمة

يشرح هذا الدليل التوجيهي الخطوات اللازمة للوصول إلى الإصدار 4 من Analytics Reporting API.

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

لبدء استخدام الإصدار 4 من واجهة برمجة التطبيقات لإعداد التقارير في "إحصاءات Google"، عليك أولاً استخدام أداة الإعداد التي ترشدك خلال خطوات إنشاء مشروع في وحدة تحكّم 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-Quickstart source analytics- quickstart/bin/activate pip install --upgrade google-api-python-client pip 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 باستخدام الأمر التالي:

    عرض pip ستة | grep "الموقع:" | قص -d " " -f2

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

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

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

    المصدر ~/.bashrc