الأخبار التكنولوجية والاستعراضات والنصائح!

كيفية الوصول إلى Google Analytics API عبر بايثون

ستساعدك المقالة التالية: كيفية الوصول إلى Google Analytics API عبر بايثون

توفر واجهة برمجة تطبيقات Google Analytics إمكانية الوصول إلى بيانات تقارير Google Analytics (GA)، مثل مشاهدات الصفحة والجلسات ومصدر الزيارات ومعدل الارتداد.

ال وثائق جوجل الرسمية يوضح أنه يمكن استخدامه من أجل:

  • إنشاء لوحات معلومات مخصصة لعرض بيانات GA.
  • أتمتة مهام إعداد التقارير المعقدة.
  • التكامل مع التطبيقات الأخرى.

يمكنك الوصول إلى استجابة واجهة برمجة التطبيقات (API) باستخدام عدة طرق مختلفة، بما في ذلك Java وPHP وJavaScript، ولكن هذه المقالة، على وجه الخصوص، ستركز على الوصول إلى البيانات وتصديرها باستخدام Python.

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

آمل أن أكتب دليل متابعة يستكشف الطرق المختلفة التي يمكنك من خلالها تحليل البيانات وتصورها ودمجها.

إعداد واجهة برمجة التطبيقات (API).

إنشاء حساب خدمة جوجل

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

بمجرد إنشاء هذا، فإن الخطوة التالية هي تحديد الزر.

لقطة شاشة من Google Cloud، ديسمبر 2022

سيتم بعد ذلك ترقيتك لإضافة بعض التفاصيل مثل الاسم والمعرف والوصف.

لقطة شاشة من Google Cloud، ديسمبر 2022

بمجرد إنشاء حساب الخدمة، انتقل إلى القسم وأضف مفتاحًا جديدًا.

لقطة شاشة من Google Cloud، ديسمبر 2022

سيطالبك هذا بإنشاء وتنزيل مفتاح خاص. في هذه الحالة، حدد JSON، ثم قم بإنشاء الملف وانتظر تنزيله.

لقطة شاشة من Google Cloud، ديسمبر 2022

أضف إلى حساب Google Analytics

ستحتاج أيضًا إلى أخذ نسخة من البريد الإلكتروني الذي تم إنشاؤه لحساب الخدمة – ويمكن العثور عليه في صفحة الحساب الرئيسية.

لقطة شاشة من Google Cloud، ديسمبر 2022

والخطوة التالية هي إضافة هذا البريد الإلكتروني كمستخدم في Google Analytics مع أذونات المحلل.

لقطة شاشة من Google Analytics، ديسمبر 2022

تمكين واجهة برمجة التطبيقات

الخطوة الأخيرة والأكثر أهمية هي التأكد من تمكين الوصول إلى واجهة برمجة التطبيقات. للقيام بذلك، تأكد من أنك في المشروع الصحيح واتبعه هذا الرابط لتمكين الوصول.

ثم اتبع الخطوات لتمكينه عند ترقيته.

لقطة شاشة من Google Cloud، ديسمبر 2022

وهذا مطلوب من أجل الوصول إلى API. إذا فاتتك هذه الخطوة، سيُطلب منك إكمالها عند تشغيل البرنامج النصي لأول مرة.

الوصول إلى واجهة برمجة تطبيقات Google Analytics باستخدام Python

الآن تم إعداد كل شيء في حساب الخدمة الخاص بنا، يمكننا البدء في كتابة البرنامج النصي لتصدير البيانات.

اخترت دفاتر جوبيتر لإنشاء هذا، ولكن يمكنك أيضًا استخدام بيئات التطوير المتكاملة الأخرى (IDEs) بما في ذلك بيشارم أو VSCode.

تثبيت المكتبات

الخطوة الأولى هي تثبيت المكتبات اللازمة لتشغيل بقية التعليمات البرمجية.

بعضها فريد بالنسبة لواجهة برمجة تطبيقات التحليلات، والبعض الآخر مفيد للأقسام المستقبلية من التعليمات البرمجية.

!pip install –ترقية google-api-python-client !pip3 install –ترقية oauth2client من apiclient.discovery استيراد بناء من oauth2client.service_account استيراد ServiceAccountCredentials !pip تثبيت الاتصال!pip تثبيت وظائف استيراد الاتصال

Note: عند استخدام النقطة في دفتر ملاحظات Jupyter، قم بإضافة ! – إذا كان يعمل في سطر الأوامر أو IDE آخر، فإن ! ليست هناك حاجة.

إنشاء بناء الخدمة

الخطوة التالية هي إعداد نطاقنا، وهو رابط مصادقة واجهة برمجة التطبيقات للتحليلات للقراءة فقط.

ويتبع ذلك تنزيل أسرار العميل JSON الذي تم إنشاؤه عند إنشاء المفتاح الخاص. يتم استخدام هذا بطريقة مشابهة لمفتاح API.

للوصول بسهولة إلى هذا الملف ضمن التعليمات البرمجية الخاصة بك، تأكد من حفظ ملف JSON في نفس المجلد مثل ملف التعليمات البرمجية. ويمكن بعد ذلك استدعاء ذلك بسهولة باستخدام الدالة KEY_FILE_LOCATION.

وأخيرًا، أضف معرف العرض من حساب التحليلات الذي ترغب في الوصول إلى البيانات من خلاله.

لقطة شاشة من المؤلف، ديسمبر 2022

تماما هذا سيبدو كما يلي. سنشير إلى هذه الوظائف في جميع أنحاء التعليمات البرمجية لدينا.

النطاقات = [‘https://www.googleapis.com/auth/analytics.readonly’]
KEY_FILE_LOCATION = ‘client_secrets.json’ VIEW_ID = ‘XXXXXX’

بمجرد إضافة ملف المفتاح الخاص، يمكننا إضافته إلى وظيفة بيانات الاعتماد عن طريق استدعاء الملف وإعداده من خلال خطوة ServiceAccountCredentials.

بعد ذلك، قم بإعداد تقرير البناء، واستدعاء واجهة برمجة التطبيقات لتقارير التحليلات V4، وبيانات الاعتماد المحددة بالفعل من الأعلى.

بيانات الاعتماد = ServiceAccountCredentials.from_json_keyfile_name(KEY_FILE_LOCATION, SCOPES) الخدمة = build(‘analyticsreporting’, ‘v4’, بيانات الاعتماد=بيانات الاعتماد)

كتابة نص الطلب

بمجرد الانتهاء من إعداد كل شيء وتحديده، تبدأ المتعة الحقيقية.

من بناء خدمة API، هناك القدرة على تحديد العناصر من الاستجابة التي نريد الوصول إليها. يُسمى هذا بكائن ReportRequest ويتطلب ما يلي كحد أدنى:

  • معرف عرض صالح لحقل معرف العرض.
  • إدخال صالح واحد على الأقل في حقل نطاقات التاريخ.
  • إدخال صالح واحد على الأقل في حقل المقاييس.

عرض معرف

كما ذكرنا سابقًا، هناك بعض الأشياء المطلوبة أثناء مرحلة البناء هذه، بدءًا من معرف العرض الخاص بنا. كما حددنا سابقًا، نحتاج فقط إلى استدعاء اسم الوظيفة (VIEW_ID) بدلاً من إضافة معرف العرض بالكامل مرة أخرى.

إذا كنت تريد جمع البيانات من طريقة عرض تحليلية مختلفة في المستقبل، فستحتاج فقط إلى تغيير المعرف في كتلة التعليمات البرمجية الأولية بدلاً من كليهما.

نطاق الموعد

ثم يمكننا إضافة النطاق الزمني للتواريخ التي نريد جمع البيانات لها. يتكون هذا من تاريخ البدء وتاريخ الانتهاء.

هناك طريقتان لكتابة هذا ضمن طلب البناء.

يمكنك تحديد تواريخ محددة، على سبيل المثال، بين تاريخين، عن طريق إضافة التاريخ بتنسيق تاريخ سنة-شهر، ‘startDate’: ‘2022-10-27’، ‘endDate’: ‘2022-11-27’.

أو، إذا كنت تريد عرض البيانات من آخر 30 يومًا، فيمكنك تعيين تاريخ البدء على أنه “30daysAgo” وتاريخ الانتهاء على أنه “اليوم”.

المقاييس والأبعاد

الخطوة الأخيرة من مكالمة الاستجابة الأساسية هي تحديد المقاييس والأبعاد. المقاييس هي القياسات الكمية من Google Analytics، مثل عدد الجلسات ومدة الجلسة ومعدل الارتداد.

الأبعاد هي خصائص المستخدمين وجلساتهم وأفعالهم. على سبيل المثال، مسار الصفحة ومصدر الزيارات والكلمات الرئيسية المستخدمة.

هناك الكثير من المقاييس والأبعاد المختلفة التي يمكن الوصول إليها. لن أتناولها جميعًا في هذه المقالة، ولكن يمكن العثور عليها جميعًا مع معلومات وسمات إضافية هنا.

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

تتم إضافة كل من المقاييس والأبعاد بتنسيق قاموس، باستخدام أزواج المفتاح: القيمة. بالنسبة للمقاييس، سيكون المفتاح هو “التعبير” متبوعًا بالنقطتين (:) ثم قيمة المقياس الخاص بنا، والذي سيكون له تنسيق محدد.

على سبيل المثال، إذا أردنا الحصول على عدد جميع الجلسات، فسنضيف “expression”: “ga:sessions”. أو “التعبير”: “ga:newUsers” إذا أردنا رؤية عدد جميع المستخدمين الجدد.

بالنسبة للأبعاد، سيكون المفتاح هو “الاسم” متبوعًا بالنقطتين مرة أخرى وقيمة البعد. على سبيل المثال، إذا أردنا استخراج مسارات الصفحة المختلفة، فسيكون الأمر ‘name’: ‘ga:pagePath’.

أو “الاسم”: “ga:medium” لرؤية إحالات مصادر الزيارات المختلفة إلى الموقع.

الجمع بين الأبعاد والمقاييس

تكمن القيمة الحقيقية في الجمع بين المقاييس والأبعاد لاستخلاص الأفكار الرئيسية التي نهتم بها كثيرًا.

على سبيل المثال، لمعرفة عدد جميع الجلسات التي تم إنشاؤها من مصادر زيارات مختلفة، يمكننا تعيين المقياس الخاص بنا ليكون ga:session والبُعد الخاص بنا ليكون ga:medium.

الاستجابة = Service.reports().batchGet( body={ ‘reportRequests’: [
{
‘viewId’: VIEW_ID,
‘dateRanges’: [{‘startDate’: ’30daysAgo’, ‘endDate’: ‘today’}]””المقاييس”:”” [{‘expression’: ‘ga:sessions’}]، ‘أبعاد’: [{‘name’: ‘ga:medium’}]
}]} ).ينفذ()

إنشاء إطار بيانات

الاستجابة التي نحصل عليها من واجهة برمجة التطبيقات تكون في شكل قاموس، مع جميع البيانات في أزواج المفتاح: القيمة. لتسهيل عرض البيانات وتحليلها، يمكننا تحويلها إلى إطار بيانات Pandas.

لتحويل استجابتنا إلى إطار بيانات، نحتاج أولاً إلى إنشاء بعض القوائم الفارغة، للاحتفاظ بالمقاييس والأبعاد.

بعد ذلك، باستدعاء مخرجات الاستجابة، سنقوم بإلحاق البيانات من الأبعاد إلى قائمة الأبعاد الفارغة وعدد المقاييس في قائمة المقاييس.

سيؤدي هذا إلى استخراج البيانات وإضافتها إلى قوائمنا الفارغة سابقًا.

خافت = []
متري = []

للتقرير في Response.get(‘التقارير’، []): columnHeader = report.get(‘columnHeader’, {}) DimensionHeaders = columnHeader.get(‘dimensions’, []) metricHeaders = columnHeader.get(‘metricHeader’, {}).get(‘metricHeaderEntries’, []) الصفوف = report.get(‘data’, {}).get(‘rows’, []) للصف في الصفوف: الأبعاد = الصف.get(‘الأبعاد’, []) dateRangeValues ​​=row.get(‘المقاييس’, []) للرأس، البعد في الرمز البريدي (dimensionHeaders، الأبعاد): dim.append(dimension) لـ i، القيم في التعداد (dateRangeValues): لـ metricHeader، القيمة في الرمز البريدي (metricHeaders،values.get(‘values’)): متري. إلحاق (كثافة العمليات (القيمة))

إضافة بيانات الاستجابة

بمجرد وجود البيانات في تلك القوائم، يمكننا بسهولة تحويلها إلى إطار بيانات عن طريق تحديد أسماء الأعمدة، بين قوسين مربعين، وتعيين قيم القائمة لكل عمود.

df = pd.DataFrame() df[“Sessions”]= متري مدافع[“Medium”]= خافت مدافع = مدافع[[“Medium”,”Sessions”]]دف.هيد()

المزيد من أمثلة طلب الاستجابة

مقاييس متعددة

هناك أيضًا القدرة على الجمع بين مقاييس متعددة، مع إضافة كل زوج بين قوسين متعرجين وفصلهما بفاصلة.

“المقاييس”: [
{“expression”: “ga:pageviews”},
{“expression”: “ga:sessions”}
]

الفلتره

يمكنك أيضًا طلب استجابة واجهة برمجة التطبيقات (API) التي تقوم فقط بإرجاع المقاييس التي تُرجع معايير معينة عن طريق إضافة عوامل تصفية المقاييس. ويستخدم التنسيق التالي:

إذا قام {metricName} {operator} {comparisonValue} بإرجاع المقياس

على سبيل المثال، إذا كنت تريد فقط استخراج مشاهدات الصفحة بأكثر من عشر مشاهدات.

الاستجابة = Service.reports().batchGet( body={ ‘reportRequests’: [
{
‘viewId’: VIEW_ID,
‘dateRanges’: [{‘startDate’: ’30daysAgo’, ‘endDate’: ‘today’}]””المقاييس”:”” [{‘expression’: ‘ga:pageviews’}]، ‘أبعاد’: [{‘name’: ‘ga:pagePath’}]، “metricFilterClauses”: [{
“filters”: [{
“metricName”: “ga:pageviews”,
“operator”: “GREATER_THAN”,
“comparisonValue”: “10”
}]
}]}]} ).ينفذ()

تعمل المرشحات أيضًا مع الأبعاد بطريقة مماثلة، لكن تعبيرات المرشح ستكون مختلفة قليلاً بسبب الطبيعة المميزة للأبعاد.

على سبيل المثال، إذا كنت تريد فقط استخراج مشاهدات الصفحة من المستخدمين الذين زاروا الموقع باستخدام متصفح Chrome، فيمكنك تعيين عامل تشغيل EXTRACT واستخدام “Chrome” كتعبير.

الاستجابة = Service.reports().batchGet( body={ ‘reportRequests’: [
{
‘viewId’: VIEW_ID,
‘dateRanges’: [{‘startDate’: ’30daysAgo’, ‘endDate’: ‘today’}]””المقاييس”:”” [{‘expression’: ‘ga:pageviews’}]، “أبعاد”: [{“name”: “ga:browser”}]، “dimensionFilterClauses”: [
{
“filters”: [
{
“dimensionName”: “ga:browser”,
“operator”: “EXACT”,
“expressions”: [“Chrome”]
} ]} ]} ]} ).ينفذ()

التعبيرات

نظرًا لأن المقاييس عبارة عن مقاييس كمية، فهناك أيضًا القدرة على كتابة التعبيرات، والتي تعمل بشكل مشابه للمقاييس المحسوبة.

يتضمن ذلك تحديد اسم مستعار لتمثيل التعبير وإكمال دالة رياضية على مقياسين.

على سبيل المثال، يمكنك حساب الإكمالات لكل مستخدم عن طريق قسمة عدد الإكمالات على عدد المستخدمين.

الاستجابة = Service.reports().batchGet( body={ ‘reportRequests’: [
{
‘viewId’: VIEW_ID,
‘dateRanges’: [{‘startDate’: ’30daysAgo’, ‘endDate’: ‘today’}]، “المقاييس”:
[
{
“expression”: “ga:goal1completions/ga:users”,
“alias”: “completions per user”
}
]
} ]} ).ينفذ()

الرسوم البيانية

تتيح لك واجهة برمجة التطبيقات (API) أيضًا تجميع الأبعاد بقيمة عددية (رقمية) في نطاقات باستخدام مجموعات الرسم البياني.

على سبيل المثال، عند تجميع بُعد عدد الجلسات في أربع مجموعات من 1-9، و10-99، و100-199، و200-399، يمكنك استخدام نوع الطلب HISTOGRAM_BUCKET وتحديد النطاقات في المدرج التكراري.

الاستجابة = Service.reports().batchGet( body={ ‘reportRequests’: [
{
‘viewId’: VIEW_ID,
‘dateRanges’: [{‘startDate’: ’30daysAgo’, ‘endDate’: ‘today’}]، “المقاييس”: [{“expression”: “ga:sessions”}]، “أبعاد”: [
{
“name”: “ga:sessionCount”,
“histogramBuckets”: [“1″,”10″,”100″,”200″,”400”]
} ], “orderBys”: [
{
“fieldName”: “ga:sessionCount”,
“orderType”: “HISTOGRAM_BUCKET”
}
]
} ]} ).execute() لقطة شاشة من المؤلف، ديسمبر 2022

ختاماً

آمل أن يكون هذا قد زودك بدليل أساسي للوصول إلى Google Analytics API، وكتابة بعض الطلبات المختلفة، وجمع بعض الأفكار المفيدة بتنسيق سهل العرض.

لقد أضفت رمز البناء والطلب، وتمت مشاركة المقتطفات فيه هذا الملف جيثب.

سأحب أن أسمع ما إذا كنت قد جربت أيًا من هذه الأشياء وخططك لاستكشاف البيانات بشكل أكبر.

المزيد من الموارد: