Xin chào Analytics Reporting API phiên bản 4; Bắt đầu nhanh Python cho tài khoản dịch vụ

Hướng dẫn này sẽ trình bày các bước bắt buộc để truy cập vào API Báo cáo Analytics phiên bản 4.

1. Bật API

Để bắt đầu sử dụng API Báo cáo Analytics phiên bản 4, trước tiên, bạn cần sử dụng công cụ thiết lập. Công cụ này sẽ hướng dẫn bạn tạo dự án trong Bảng điều khiển API của Google, bật API và tạo thông tin đăng nhập.

Tạo thông tin đăng nhập

  1. Mở trang Tài khoản dịch vụ. Nếu thấy lời nhắc, hãy chọn một dự án.
  2. Nhấp vào Tạo tài khoản dịch vụ rồi nhập tên và phần mô tả cho tài khoản dịch vụ. Bạn có thể sử dụng mã tài khoản dịch vụ mặc định hoặc chọn một mã riêng biệt khác. Khi hoàn tất, hãy nhấp vào Tạo.
  3. Bạn không bắt buộc phải làm gì trong phần Quyền tài khoản dịch vụ (tuỳ chọn) sau đó. Hãy nhấp vào Tiếp tục.
  4. Trên màn hình Cấp cho người dùng quyền truy cập vào tài khoản dịch vụ này, hãy cuộn xuống phần Tạo khoá. Nhấp vào Tạo khoá.
  5. Trong bảng điều khiển bên xuất hiện, hãy chọn định dạng cho khoá của bạn: bạn nên chọn JSON.
  6. Nhấp vào Tạo. Cặp khoá công khai/riêng tư mới của bạn sẽ được tạo và tải xuống máy của bạn; đây là bản sao duy nhất của khoá này. Để biết thông tin về cách lưu trữ khoá an toàn, hãy xem Quản lý khoá tài khoản dịch vụ.
  7. Nhấp vào Đóng trên hộp thoại Khoá riêng tư đã lưu vào máy tính của bạn, sau đó nhấp vào Xong để trở về bảng tài khoản dịch vụ.

Thêm tài khoản dịch vụ vào tài khoản Google Analytics

Tài khoản dịch vụ mới tạo sẽ có một địa chỉ email giống như sau:

quickstart@PROJECT-ID.iam.gserviceaccount.com

Sử dụng địa chỉ email này để thêm người dùng vào chế độ xem Google Analytics mà bạn muốn truy cập thông qua API. Trong hướng dẫn này, bạn chỉ cần có quyền Đọc và phân tích.

2. Cài đặt thư viện ứng dụng

Bạn nên dùng pip cùng với venv để cài đặt các gói 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 oauth2client

3. Thiết lập mẫu

Bạn cần tạo một tệp có tên HelloAnalytics.py chứa mã mẫu đã cho.

  1. Sao chép hoặc tải xuống mã nguồn sau vào HelloAnalytics.py.
  2. Di chuyển client_secrets.json đã tải xuống trước đó vào cùng thư mục với mã mẫu.
  3. Thay thế giá trị của KEY_FILE_LOCATION bằng đường dẫn thích hợp đến client_secrets.json đã tải xuống.
  4. Thay thế giá trị của VIEW_ID. Bạn có thể sử dụng Trình khám phá tài khoản để tìm Mã chế độ xem.
"""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. Chạy mẫu

Chạy mẫu bằng cách sử dụng:

python HelloAnalytics.py

Khi bạn hoàn thành các bước này, mẫu sẽ xuất ra số phiên trong 7 ngày qua cho chế độ xem đã cho.

Khắc phục sự cố

Lỗi thuộc tính: Đối tượng "Module_six_moves_urllib_parse" không có thuộc tính "urlparse"

Lỗi này có thể xảy ra trong Mac OSX, trong đó cài đặt mặc định của mô-đun "six" (phần phụ thuộc của thư viện này) được tải trước mô-đun mà pip đã cài đặt. Để khắc phục vấn đề này, hãy thêm vị trí cài đặt của pip vào biến môi trường hệ thống PYTHONPATH:

  • Xác định vị trí cài đặt của pip bằng lệnh sau:

    pip hiển thị sáu | grep "Vị trí:" | cắt -d " " -f2

  • Thêm dòng sau vào tệp ~/.bashrc, thay thế &lt;pip_install_path&gt; bằng giá trị được xác định ở trên:

    xuất PYTHONPATH=$PYTHONPATH:<pip_install_path>

  • Tải lại tệp ~/.bashrc trong mọi cửa sổ dòng lệnh đang mở bằng cách sử dụng lệnh sau:

    nguồn ~/.bashrc