บทแนะนำนี้จะแนะนำขั้นตอนที่จำเป็นในการเข้าถึง Analytics Reporting API เวอร์ชัน 4
1. เปิดใช้ API
หากต้องการเริ่มต้นใช้งาน Analytics Reporting API v4 ก่อนอื่นคุณต้องใช้เครื่องมือการตั้งค่า ซึ่งจะแนะนำขั้นตอนการสร้างโปรเจ็กต์ในคอนโซล Google API เปิดใช้ API และสร้างข้อมูลเข้าสู่ระบบ
สร้างข้อมูลเข้าสู่ระบบ
- เปิดหน้าบัญชีบริการ เมื่อได้รับข้อความเตือน ให้เลือกโปรเจ็กต์
- คลิก สร้างบัญชีบริการ จากนั้นป้อนชื่อและคำอธิบายของบัญชีบริการ คุณจะใช้รหัสเริ่มต้นของบัญชีบริการ หรือเลือกรหัสอื่นที่ไม่ซ้ำกันก็ได้ เมื่อเสร็จแล้วให้คลิกสร้าง
- คุณข้ามส่วนสิทธิ์ของบัญชีบริการ (ไม่บังคับ) ที่ตามมาได้ คลิกต่อไป
- ในหน้าจอให้สิทธิ์ผู้ใช้เข้าถึงบัญชีบริการนี้ ให้เลื่อนลงไปที่ส่วนสร้างคีย์ คลิก สร้างคีย์
- เลือกรูปแบบของคีย์ในแผงด้านข้างที่ปรากฏขึ้น ขอแนะนำให้เลือก JSON
- คลิกสร้าง ระบบจะสร้างคู่คีย์สาธารณะ/ส่วนตัวใหม่และดาวน์โหลดลงในเครื่องของคุณ ซึ่งจะเป็นสำเนาเพียงรายการเดียวของคีย์นี้ ดูข้อมูลเกี่ยวกับวิธีจัดเก็บคีย์อย่างปลอดภัยที่การจัดการคีย์ของบัญชีบริการ
- คลิกปิดในกล่องโต้ตอบคีย์ส่วนตัวที่บันทึกไว้ในคอมพิวเตอร์ จากนั้นคลิกเสร็จเพื่อกลับไปที่ตารางของบัญชีบริการ
เพิ่มบัญชีบริการลงในบัญชี 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-python-upgrade
3. ตั้งค่าตัวอย่าง
คุณจะต้องสร้างไฟล์เดียวที่ชื่อ HelloAnalytics.py
ซึ่งจะมีโค้ดตัวอย่างที่ระบุ
- คัดลอกหรือดาวน์โหลดซอร์สโค้ดต่อไปนี้ลงใน
HelloAnalytics.py
- ย้าย
client_secrets.json
ที่ดาวน์โหลดก่อนหน้านี้ไปยังไดเรกทอรีเดียวกันกับโค้ดตัวอย่าง - แทนที่ค่าของ
KEY_FILE_LOCATION
ด้วยเส้นทางที่เหมาะสมไปยังclient_secrets.json
ที่ดาวน์โหลดไว้ - แทนที่ค่าของ
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" ไม่มีแอตทริบิวต์ "urlparse"
ข้อผิดพลาดนี้อาจเกิดขึ้นใน Mac OSX ที่มีการโหลดการติดตั้งเริ่มต้นของโมดูล "6" (ทรัพยากร Dependency ของไลบรารีนี้) โหลดก่อนที่ PIP ดังกล่าวจะติดตั้ง หากต้องการแก้ไขปัญหานี้ ให้เพิ่มตำแหน่งการติดตั้งของ PIP ลงในตัวแปรสภาพแวดล้อมของระบบ PYTHONPATH
ดังนี้
ระบุตำแหน่งการติดตั้งของ PIP ด้วยคำสั่งต่อไปนี้
pip แสดงหก | grep "สถานที่ตั้ง:" | ตัด -d " " -f2
เพิ่มบรรทัดต่อไปนี้ลงในไฟล์
~/.bashrc
โดยแทนที่<pip_install_path>
ด้วยค่าที่กำหนดข้างต้นส่งออก PYTHONPATH=$PYTHONPATH:<pip_install_path>
โหลดไฟล์
~/.bashrc
ซ้ำในหน้าต่างเทอร์มินัลที่เปิดอยู่โดยใช้คำสั่งต่อไปนี้แหล่งที่มา ~/.bashrc