สวัสดี Analytics API v4; Python เริ่มต้นอย่างรวดเร็วสําหรับบัญชีบริการ

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

บทแนะนํานี้จะอธิบายขั้นตอนที่จําเป็นในการเข้าถึง Analytics Reporting API เวอร์ชัน 4

1. เปิดใช้ API

ในการเริ่มต้นใช้งาน Analytics Reporting API เวอร์ชัน 4 คุณต้องใช้เครื่องมือการตั้งค่าก่อน ซึ่งจะช่วยแนะนําคุณในการสร้างโปรเจ็กต์ในคอนโซล Google API, เปิดใช้ API และสร้างข้อมูลเข้าสู่ระบบ

สร้างข้อมูลเข้าสู่ระบบ

  1. เปิดหน้าบัญชีบริการ เมื่อได้รับข้อความเตือน ให้เลือกโปรเจ็กต์
  2. คลิกสร้างบัญชีบริการ จากนั้นป้อนชื่อและคำอธิบายของบัญชีบริการ คุณจะใช้รหัสเริ่มต้นของบัญชีบริการ หรือเลือกรหัสอื่นที่ไม่ซ้ำกันก็ได้ เมื่อเสร็จแล้วให้คลิกสร้าง
  3. คุณข้ามส่วนสิทธิ์ของบัญชีบริการ (ไม่บังคับ) ที่ตามมาได้ คลิกต่อไป
  4. ในหน้าจอให้สิทธิ์ผู้ใช้เข้าถึงบัญชีบริการนี้ ให้เลื่อนลงไปที่ส่วนสร้างคีย์ คลิก สร้างคีย์
  5. เลือกรูปแบบของคีย์ในแผงด้านข้างที่ปรากฏขึ้น ขอแนะนําให้เลือก JSON
  6. คลิกสร้าง ระบบจะสร้างคู่คีย์สาธารณะ/ส่วนตัวใหม่และดาวน์โหลดลงในเครื่องของคุณ ซึ่งจะเป็นสำเนาเพียงรายการเดียวของคีย์นี้ ดูข้อมูลเกี่ยวกับวิธีจัดเก็บคีย์อย่างปลอดภัยที่การจัดการคีย์ของบัญชีบริการ
  7. คลิกปิดในกล่องโต้ตอบคีย์ส่วนตัวที่บันทึกไว้ในคอมพิวเตอร์ จากนั้นคลิกเสร็จเพื่อกลับไปที่ตารางของบัญชีบริการ

เพิ่มบัญชีบริการลงในบัญชี Google Analytics

บัญชีบริการที่สร้างขึ้นใหม่จะมีอีเมลที่มีลักษณะดังนี้

quickstart@PROJECT-ID.iam.gserviceaccount.com

ใช้ที่อยู่อีเมลนี้เพื่อเพิ่มผู้ใช้ในข้อมูลพร็อพเพอร์ตี้ของ Google Analytics ที่ต้องการเข้าถึงผ่าน API สําหรับบทแนะนํานี้ ต้องมีสิทธิ์อ่านและวิเคราะห์เท่านั้น

2. ติดตั้งไลบรารีของไคลเอ็นต์

การใช้ pip ร่วมกับ venv เป็นวิธีที่แนะนําสําหรับการติดตั้งแพ็กเกจ Python ได้แก่ sudo -s apt-get install python3-venv python3 -m venv analytics-quickstart source analytics-quickstart/bin/activate pip install --upgrade google-api-ipthon-client pp pp

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

เมื่อคุณทําตามขั้นตอนเหล่านี้เสร็จแล้ว ตัวอย่างจะแสดงผลจํานวนเซสชันในช่วง 7 วันที่ผ่านมาสําหรับมุมมองที่กําหนด

การแก้ปัญหา

AttributeError: 'Module_six_moves_urllib_parse' object ไม่มีแอตทริบิวต์ 'urlparse'

ข้อผิดพลาดนี้อาจเกิดขึ้นใน Mac OSX ที่มีการติดตั้งการติดตั้งโมดูลเริ่มต้นของ "six" (การขึ้นต่อกันของไลบรารีนี้) ก่อนติดตั้ง pip วิธีแก้ไขปัญหา ให้เพิ่มสถานที่ติดตั้ง pip&#39 ลงในตัวแปรสภาพแวดล้อมของระบบ PYTHONPATH ดังนี้

  • ระบุตําแหน่งการติดตั้งของ pip's ด้วยคําสั่งต่อไปนี้

    pip แสดง 6 | grep "Location:" | ตัด -d " " -f2

  • เพิ่มบรรทัดต่อไปนี้ลงในไฟล์ ~/.bashrc โดยแทนที่ &lt;pip_install_path&gt; ด้วยค่าที่กําหนดไว้ด้านบน

    ส่งออก PYTHONPATH=$PYTHONPATH:<pip_install_path>

  • โหลดไฟล์ ~/.bashrc ซ้ําในหน้าต่างเทอร์มินัลที่เปิดอยู่โดยใช้คําสั่งต่อไปนี้

    แหล่งที่มา ~/.bashrc