במדריך הזה מפורטים השלבים הנדרשים כדי לגשת לחשבון Google Analytics, ליצור שאילתות בממשקי API של Analytics, לטפל בתשובות ל-API ולפלט את התוצאות. במדריך הזה נעשה שימוש ב-Core Reporting API v3.0, ב-Management API v3.0 וב-OAuth2.0.
שלב 1: מפעילים את Analytics API
כדי להתחיל להשתמש ב-Google Analytics API, צריך קודם להשתמש בכלי ההגדרה, שכולל הנחיות ליצירת פרויקט ב-Google API Console, להפעלת ה-API וליצירת פרטי כניסה.
יצירת מזהה לקוח
- פותחים את דף חשבונות השירות. אם תתבקשו, עליכם לבחור פרויקט.
- לוחצים על יצירת חשבון שירות, מזינים שם ותיאור לחשבון השירות. אפשר להשתמש במספר ברירת המחדל של חשבון השירות, או לבחור מספר ייחודי וייחודי. כשמסיימים, לוחצים על יצירה.
- הקטע הרשאות חשבון שירות (אופציונלי) שבהמשך לא נדרש. לוחצים על המשך.
- במסך הענקת גישה למשתמשים בחשבון השירות הזה, גוללים למטה לקטע יצירת מפתח. לוחצים על יצירת מפתח.
- בחלונית הצדדית שמופיעה, בוחרים את הפורמט של המפתח: מומלץ להשתמש בקובץ JSON.
- לוחצים על Create. זוג המפתחות הציבורי/הפרטי החדש נוצר ומוריד למחשב שלך. הוא משמש כעותק היחיד של המפתח הזה. מידע נוסף על אחסון מאובטח לניהול מפתחות בחשבון שירות.
- לוחצים על סגירה בתיבת הדו-שיח מפתח פרטי שנשמר במחשב, ואז לוחצים על סיום כדי לחזור לטבלה של חשבונות השירות.
הוספה של חשבון שירות לחשבון Google Analytics
לחשבון השירות החדש תהיה כתובת אימייל,
<projectId>-<uniqueId>@developer.gserviceaccount.com
;
יש להשתמש בכתובת האימייל הזו
כדי להוסיף
משתמש לחשבון Google Analytics שאליו רוצים לגשת דרך ה-API.
למדריך הזה בלבד נדרשות
קריאת
& ניתוח.
שלב 2: מתקינים את ספריית הלקוחות של Google
אפשר להשתמש במנהל החבילות או להוריד ולהתקין את ספריית הלקוחות של Python באופן ידני:
תמונה בתוך תמונה (PIP)
אפשר להשתמש ב-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
, שיכיל את קוד הדוגמה הנתון.
- מעתיקים או
מורידים את קוד המקור הבא אל
HelloAnalytics.py
. - מעבירים את
client_secrets.json
שהורדתם בעבר באותה ספרייה שבה נמצא הקוד לדוגמה. - יש להחליף את הערכים של
key_file_location
בערכים המתאימים מ-Play 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: הרצת הדגימה
לאחר הפעלת ה-API של Analytics, התקנת ספריית הלקוחות של Google APIs ב-Python, והגדרת קוד המקור לדוגמה עבור הדגימה.
הרצת הדגימה באמצעות:
python HelloAnalytics.py
לאחר סיום השלבים האלה, הדגימה מפיקה את השם של התצוגה המפורטת (הפרופיל) הראשונה של המשתמש המורשה ב-Google Analytics ואת מספר הביקורים בשבעת הימים האחרונים.
באמצעות אובייקט השירות המורשה של Analytics אפשר עכשיו להריץ דוגמאות קוד שנמצאות במסמכי התיעוד של Management API. לדוגמה, אפשר לנסות לשנות את הקוד כדי להשתמש בשיטה accountSummaries.list.
פתרון בעיות
attributeError: 'Module_six_Moves_urllib_parse' לאובייקט אין מאפיין 'urlparse'
השגיאה הזו יכולה להתרחש ב-Mac OSX, שבה התקנת ברירת המחדל של "six"
המודול (תלות של הספרייה הזו) נטענת לפניה. כדי לפתור את הבעיה, צריך להוסיף מיקום התקנה pip&33 של משתנה סביבת המערכת PYTHONPATH
:
-
קובעים את מיקום ההתקנה של pip' באמצעות הפקודה הבאה:
pip show six | grep "Location:" | cut -d " " -f2
-
יש להוסיף את השורה הבאה לקובץ
~/.bashrc
ולהחליף את<pip_install_path>
בערך שנקבע למעלה:export PYTHONPATH=$PYTHONPATH:<pip_install_path>
-
יש לטעון מחדש את הקובץ
~/.bashrc
בכל חלון מסוף פתוח באמצעות הפקודה הבאה:source ~/.bashrc