שלום Analytics Reporting API גרסה 4; Python התחלה מהירה עבור חשבונות שירות

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

במדריך הזה מפורטים השלבים הנדרשים כדי לגשת ל-Analytics Reporting API v4.

1. הפעלת ה-API

כדי להתחיל להשתמש ב-Analytics Reporting API v4, צריך קודם כל להשתמש בכלי ההגדרה, שכולל הנחיות ליצירת פרויקט ב-Google API Console, להפעלת ה-API וליצירת פרטי כניסה.

יצירת פרטי כניסה

  1. פותחים את דף חשבונות השירות. אם תתבקשו, עליכם לבחור פרויקט.
  2. לוחצים על יצירת חשבון שירות, מזינים שם ותיאור לחשבון השירות. אפשר להשתמש במספר ברירת המחדל של חשבון השירות, או לבחור מספר ייחודי וייחודי. כשמסיימים, לוחצים על יצירה.
  3. הקטע הרשאות חשבון שירות (אופציונלי) שבהמשך לא נדרש. לוחצים על המשך.
  4. במסך הענקת גישה למשתמשים בחשבון השירות הזה, גוללים למטה לקטע יצירת מפתח. לוחצים על יצירת מפתח.
  5. בחלונית הצדדית שמופיעה, בוחרים את הפורמט של המפתח: מומלץ להשתמש בקובץ JSON.
  6. לוחצים על Create. זוג המפתחות הציבורי/הפרטי החדש נוצר ומוריד למחשב שלך. הוא משמש כעותק היחיד של המפתח הזה. מידע נוסף על אחסון מאובטח לניהול מפתחות בחשבון שירות.
  7. לוחצים על סגירה בתיבת הדו-שיח מפתח פרטי שנשמר במחשב, ואז לוחצים על סיום כדי לחזור לטבלה של חשבונות השירות.

מוסיפים חשבון שירות לחשבון Google Analytics

לחשבון השירות החדש תהיה כתובת אימייל שדומה ל:

quickstart@PROJECT-ID.iam.gserviceaccount.com

אפשר להשתמש בכתובת האימייל הזו כדי להוסיף משתמש לתצוגה המפורטת של Google Analytics שאליה רוצים לגשת באמצעות ה-API. למדריך הזה נדרשות רק הרשאות קריאה וניתוח.

2. התקנה של ספריית הלקוח

שימוש ב-pip יחד עם venv הוא הדרך המומלצת להתקנת חבילות Python: sudo -s apt-getInstall python3-venv python3 -m venv analytics-quickstart source analytics-quickstart/bin/activate התקנת pip --שדרוג google-api-python-client pi2 התקנה --שדרוג op

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, שבה התקנת ברירת המחדל של המודול "six" (התלויות בספרייה הזו) נטענת לפני ההתקנה של התמונה הממוזערת. כדי לתקן את הבעיה, יש להוסיף את מיקום ההתקנה של 'תמונה בתוך תמונה' במשתנה סביבת המערכת של PYTHONPATH:

  • קובעים את מיקום ההתקנה של pip' באמצעות הפקודה הבאה:

    תמונה בתוך תמונה בתוך תמונה בתוך תמונה (PIP) | gRe "Location:" | Cut -d " " -f2

  • הוסיפו את השורה הבאה לקובץ ה-~/.bashrc, ולהחליף את &lt;pip_install_path&gt; בערך שנקבע למעלה:

    ייצוא PYTHONPath=$PYTHONPath:<pip_Install_path>

  • יש לטעון מחדש את הקובץ ~/.bashrc בכל חלון מסוף פתוח באמצעות הפקודה הבאה:

    מקור ~/.bashrc