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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

يوضّح هذا البرنامج التعليمي الخطوات المطلوبة للوصول إلى حساب على "إحصاءات Google"، والاستعلام عن واجهات برمجة تطبيقات "إحصاءات Google"، والتعامل مع ردود واجهة برمجة التطبيقات، ثم عرض النتائج. يتم استخدام الإصدار 3.0 من واجهة برمجة التطبيقات لإعداد التقارير الأساسية والإصدار 3.0 من واجهة برمجة التطبيقات للإدارة وOAuth2.0 في هذا البرنامج التعليمي.

الخطوة 1: تفعيل واجهة برمجة التطبيقات في "إحصاءات Google"

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

إنشاء معرِّف عميل

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

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

وسيتضمّن حساب الخدمة الذي تم إنشاؤه حديثًا عنوان بريد إلكتروني، <projectId>-<uniqueId>@developer.gserviceaccount.com. استخدِم عنوان البريد الإلكتروني هذا لإضافة مستخدم إلى حساب "إحصاءات Google" الذي تريد الوصول إليه عبر واجهة برمجة التطبيقات. لهذا البرنامج التعليمي، يجب الحصول على أذونات القراءة وamp;التحليل فقط.

الخطوة 2: تثبيت "مكتبة عملاء Google"

يمكنك إما استخدام مدير حِزم أو تنزيل مكتبة برامج Python يدويًا وتثبيتها:

نقطة

استخدِم pip، وهي الأداة المقترَحة لتثبيت حزم Python:

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

أدوات الإعداد

استخدِم الأداة easy_install المضمّنة في الحزمة setuptools:

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

التثبيت اليدوي

نزِّل أحدث مكتبة برامج لبرامج python، ثم فكِّ الرمز ثم نفِّذ ما يلي:

sudo python setup.py install

قد تحتاج إلى استدعاء الأمر من خلال امتيازات المستخدم المتميز (sudo) لتثبيته على نظام Python.

الخطوة 3: إعداد النموذج

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

  1. انسخ رمز المصدر التالي أو نزِّله إلى HelloAnalytics.py.
  2. انقِل السمة client_secrets.json التي تم تنزيلها سابقًا ضمن الدليل نفسه الذي يتضمّن رمز النموذج.
  3. استبدِل قيم key_file_location بالقيم المناسبة من Developers 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: تنفيذ عيّنة من الكتاب

بعد تفعيل واجهة برمجة التطبيقات في "إحصاءات Google"، ثبّت مكتبة برامج Google APIs لخدمة Python، واضبط نموذج رمز المصدر الذي أصبح النموذج جاهزًا للتشغيل.

شغِّل النموذج باستخدام:

python HelloAnalytics.py

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

باستخدام عنصر خدمة "إحصاءات Google" المفوَّض، يمكنك الآن تشغيل أيٍّ من نماذج الرموز التي تم العثور عليها في مستندات مرجعية واجهة برمجة تطبيقات الإدارة. على سبيل المثال، يمكنك محاولة تغيير الرمز لاستخدام طريقة accountSummary.list.

تحديد المشاكل وحلّها

AttributeError: 'Unit_six_moves_urllib_parse' object لا يتضمن سمة 'urlparse'

يمكن أن يحدث هذا الخطأ في نظام التشغيل Mac OSX حيث يتم تحميل التثبيت التلقائي للوحدة التنظيمية "six" (الاعتمادية على هذه المكتبة) قبل التحميل الذي يتم تثبيته. لحلّ المشكلة، أضِف موقع التثبيت في Pip&#39 إلى متغيّر بيئة النظام 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