คุณสร้างรายงานการเข้าถึงข้อมูลได้โดยใช้เมธอด Admin API v1
runAccessReport
รายงานนี้จะแสดงทุกครั้งที่ผู้ใช้อ่านข้อมูล Google Analytics
ระบบจะเก็บบันทึกการเข้าถึงข้อมูลไว้เป็นเวลาสูงสุด 2 ปี รายงานการเข้าถึงข้อมูล
จะใช้ได้เฉพาะกับผู้ใช้ที่มีบทบาทผู้ดูแลระบบเท่านั้น
ขอรายงานการเข้าถึงข้อมูลโดยใช้ไลบรารีของไคลเอ็นต์
วิธีที่เร็วที่สุดในการเริ่มต้นใช้งานรายงานการเข้าถึงข้อมูลคือการใช้ไลบรารี ไคลเอ็นต์
ดูคำอธิบายเกี่ยวกับวิธีติดตั้งและกำหนดค่าไลบรารีของไคลเอ็นต์ Google Analytics ได้ในคู่มือเริ่มใช้งานฉบับย่อ
ต่อไปนี้เป็นตัวอย่างการใช้ไลบรารีของไคลเอ็นต์ Python ที่เรียกใช้การค้นหาการเข้าถึงข้อมูล และพิมพ์การตอบกลับ
Python
from datetime import datetime from google.analytics.admin import AnalyticsAdminServiceClient from google.analytics.admin_v1alpha.types import ( AccessDateRange, AccessDimension, AccessMetric, RunAccessReportRequest, ) def run_sample(): """Runs the sample.""" # TODO(developer): Replace this variable with your Google Analytics 4 # property ID (e.g. "123456") before running the sample. property_id = "YOUR-GA4-PROPERTY-ID" run_access_report(property_id) def run_access_report(property_id: str, transport: str = None): """ Runs an access report for a Google Analytics property. The report will aggregate over dimensions `userEmail`, `accessedPropertyId`, `reportType`, `revenueDataReturned`, `costDataReturned`, `userIP`, and return the access count, as well as the most recent access time for each combination. See https://developers.google.com/analytics/devguides/config/admin/v1/access-api-schema for the description of each field used in a data access report query. Args: property_id(str): The Google Analytics Property ID. transport(str): The transport to use. For example, "grpc" or "rest". If set to None, a transport is chosen automatically. """ client = AnalyticsAdminServiceClient(transport=transport) request = RunAccessReportRequest( entity=f"properties/{property_id}", dimensions=[ AccessDimension(dimension_name="userEmail"), AccessDimension(dimension_name="accessedPropertyId"), AccessDimension(dimension_name="reportType"), AccessDimension(dimension_name="revenueDataReturned"), AccessDimension(dimension_name="costDataReturned"), AccessDimension(dimension_name="userIP"), AccessDimension(dimension_name="mostRecentAccessEpochTimeMicros"), ], metrics=[AccessMetric(metric_name="accessCount")], date_ranges=[AccessDateRange(start_date="yesterday", end_date="today")], ) access_report = client.run_access_report(request) print("Result:") print_access_report(access_report) def print_access_report(response): """Prints the access report.""" print(f"{response.row_count} rows received") for dimensionHeader in response.dimension_headers: print(f"Dimension header name: {dimensionHeader.dimension_name}") for metricHeader in response.metric_headers: print(f"Metric header name: {metricHeader.metric_name})") for rowIdx, row in enumerate(response.rows): print(f"\nRow {rowIdx}") for i, dimension_value in enumerate(row.dimension_values): dimension_name = response.dimension_headers[i].dimension_name if dimension_name.endswith("Micros"): # Convert microseconds since Unix Epoch to datetime object. dimension_value_formatted = datetime.utcfromtimestamp( int(dimension_value.value) / 1000000 ) else: dimension_value_formatted = dimension_value.value print(f"{dimension_name}: {dimension_value_formatted}") for i, metric_value in enumerate(row.metric_values): metric_name = response.metric_headers[i].metric_name print(f"{metric_name}: {metric_value.value}")
ฟีเจอร์ที่แชร์กับรายงานหลัก
คำขอรายงานการเข้าถึงข้อมูลมีความหมายเหมือนกับคำขอรายงานหลักสำหรับฟีเจอร์ทั่วไปหลายอย่าง เช่น การแบ่งหน้า ตัวกรองมิติข้อมูล และช่วงวันที่จะทํางานเหมือนกัน ในรายงานทั้ง 2 ประเภท
โปรดทำความคุ้นเคยกับภาพรวมของรายงานหลักใน Data API v1 จากนั้นกลับมาที่หน้านี้เพื่อดูข้อมูลเพิ่มเติม เกี่ยวกับรายงานการเข้าถึงข้อมูล
สร้างรายงานการเข้าถึงข้อมูล
ใช้เมธอด runAccessReport เพื่อ ขอรายงานการเข้าถึงข้อมูล
เลือกหน่วยงานที่รายงาน
เช่นเดียวกับฟังก์ชันการรายงานหลักของ Data API v1 เมธอด runAccessReport
ของ Google Analytics Admin API v1 กําหนดให้ต้องระบุตัวระบุพร็อพเพอร์ตี้ Google Analytics ภายในเส้นทางการขอ URL ในรูปแบบ properties/GA_PROPERTY_ID เช่น
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
ระบบจะสร้างรายงานการเข้าถึงข้อมูลที่ได้ตามบันทึกการเข้าถึงข้อมูล Google Analytics สําหรับพร็อพเพอร์ตี้ Google Analytics ที่ระบุ
หากคุณใช้ไลบรารีของไคลเอ็นต์ Admin API
ก็ไม่จำเป็นต้องแก้ไขเส้นทาง URL ของคำขอด้วยตนเอง ไคลเอ็นต์ API ส่วนใหญ่
มีพารามิเตอร์ property ที่คาดหวังสตริงในรูปแบบ
properties/GA_PROPERTY_ID ดูข้อมูลโค้ดที่ด้านบนของหน้านี้เพื่อดูตัวอย่างการใช้ไลบรารีของไคลเอ็นต์
เลือกมิติข้อมูลและเมตริก
มิติข้อมูล
อธิบายและจัดกลุ่มข้อมูลการเข้าถึงสําหรับพร็อพเพอร์ตี้ เช่น มิติข้อมูล
userEmailระบุอีเมลของผู้ใช้ที่เข้าถึงข้อมูลการรายงาน
ค่ามิติข้อมูลในการตอบกลับของรายงานเป็นสตริง
เมตริก
แสดงการวัดเชิงปริมาณของรายงาน accessCount เมตริก
จะแสดงจำนวนบันทึกการเข้าถึงข้อมูลทั้งหมด
ดูรายการชื่อมิติข้อมูลและเมตริกทั้งหมดที่ใช้ได้ในคำขอรายงานการเข้าถึงข้อมูลได้ที่สคีมาการเข้าถึงข้อมูล
ขอรายงาน
หากต้องการขอรายงานการเข้าถึงข้อมูล ให้สร้างออบเจ็กต์ RunAccessReportRequest เรา ขอแนะนำให้เริ่มต้นด้วยพารามิเตอร์คำขอต่อไปนี้
- รายการที่ถูกต้องอย่างน้อย 1 รายการในฟิลด์date ranges
- รายการที่ถูกต้องอย่างน้อย 1 รายการในฟิลด์ dimensions
- หากไม่ได้ใช้มิติข้อมูล
epochTimeMicrosคุณต้องมีรายการที่ถูกต้องอย่างน้อย 1 รายการในฟิลด์เมตริก เพื่อรับข้อมูลเชิงปริมาณสําหรับค่ามิติข้อมูลแต่ละชุดในรายงาน
ตัวอย่างคำขอที่มีช่องที่แนะนำมีดังนี้ คําค้นหานี้จะสร้าง รายการอีเมลของผู้ใช้ เวลาล่าสุดที่ผู้ใช้เข้าถึงพร็อพเพอร์ตี้ที่ระบุ ในช่วง 7 วันที่ผ่านมา และจํานวนการเข้าถึงที่เกี่ยวข้อง
HTTP
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "mostRecentAccessEpochTimeMicros"
},
{
"dimensionName": "userEmail"
}
],
"metrics": [
{
"metricName": "accessCount"
}
]
}
อ่านคำตอบ
การตอบกลับรายงานการเข้าถึงข้อมูลส่วนใหญ่ประกอบด้วย
ส่วนหัวและแถว ส่วนหัวประกอบด้วย
AccessDimensionHeaders
และ
AccessMetricHeaders
ซึ่งแสดงรายการคอลัมน์ในรายงาน
แถวรายงานการเข้าถึงแต่ละแถวประกอบด้วย
AccessDimensionValues
และ
AccessMetricValues
สำหรับคอลัมน์ในรายงาน ลำดับของคอลัมน์จะสอดคล้องกันใน
คำขอ ส่วนหัว และทุกแถว
นี่คือตัวอย่างการตอบกลับสำหรับคำขอตัวอย่างก่อนหน้า
{
"dimensionHeaders": [
{
"dimensionName": "mostRecentAccessEpochTimeMicros"
},
{
"dimensionName": "userEmail"
}
],
"metricHeaders": [
{
"metricName": "accessCount"
}
],
"rows": [
{
"dimensionValues": [
{
"value": "1667591408427733"
},
{
"value": "Bola@example.net"
}
],
"metricValues": [
{
"value": "1238"
}
]
},
{
"dimensionValues": [
{
"value": "1667710959827161"
},
{
"value": "Alex@example.net"
}
],
"metricValues": [
{
"value": "475"
}
]
},
{
"dimensionValues": [
{
"value": "1667868650762743"
},
{
"value": "Mahan@example.net"
}
],
"metricValues": [
{
"value": "96"
}
]
}
],
"rowCount": 3
}
กรองในบันทึกการเข้าถึง
ใช้ฟิลด์ dimensionFilter ของออบเจ็กต์ RunAccessReportRequest เพื่อจํากัดการตอบกลับของรายงานให้เป็นค่ามิติข้อมูลที่เฉพาะเจาะจงซึ่งตรงกับ ตัวกรอง
ตัวอย่างต่อไปนี้จะสร้างรายงานตามบันทึกการเข้าถึงข้อมูลแต่ละรายการ โดยกรองบันทึกการเข้าถึงของผู้ใช้รายเดียวที่มีอีเมล Alex@example.net
รายงานประกอบด้วยเวลาของบันทึกการเข้าถึงแต่ละรายการ อีเมลและที่อยู่ IP ของผู้ใช้
HTTP
POST https://analyticsadmin.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runAccessReport
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "epochTimeMicros"
},
{
"dimensionName": "userEmail"
},
{
"dimensionName": "userIP"
}
],
"dimensionFilter": {
"accessFilter": {
"fieldName": "userEmail",
"stringFilter": {
"matchType": "EXACT",
"value": "Alex@example.net"
}
}
}
}
ในทํานองเดียวกัน คุณสามารถใช้ฟิลด์
metricFilter
ของออบเจ็กต์
RunAccessReportRequest
เพื่อจํากัดการตอบกลับของรายงานให้เป็นค่าเมตริกที่เฉพาะเจาะจงซึ่ง
ตรงกับตัวกรอง
ตัวอย่างต่อไปนี้จะสร้างรายงานที่มีอีเมลและจำนวนการเข้าถึงของผู้ใช้ทั้งหมดที่เข้าถึงพร็อพเพอร์ตี้ที่ระบุมากกว่า 100 ครั้ง
HTTP
{
"dateRanges": [
{
"startDate": "7daysAgo",
"endDate": "today"
}
],
"dimensions": [
{
"dimensionName": "userEmail"
}
],
"metricFilter": {
"accessFilter": {
"numericFilter": {
"operation": "GREATER_THAN",
"value": {
"int64Value": 100
}
},
"fieldName": "accessCount"
}
},
"metrics": [
{
"metricName": "accessCount"
}
]
}
รายงานตัวอย่าง
ตัวอย่างรายงานที่คุณลองใช้ได้มีดังนี้
การเข้าถึงล่าสุด
รายงานการเข้าถึงตัวอย่างต่อไปนี้สร้างได้โดยใช้ runAccessReport
| เวลาการเข้าถึงล่าสุดซึ่งแสดงเป็นเวลา Unix Epoch โดยวัดเป็นไมโครวินาที | อีเมลผู้ใช้ | จำนวนการเข้าถึง |
|---|---|---|
| 1525220215025371 | Bola@example.net | 5 |
| 1525220215028361 | Alex@example.net | 36 |
| 1525220215027671 | Charlie@example.net | 1153 |
| 1525220215027341 | Mahan@example.net | 1 |
คุณสร้างรายงานนี้ได้โดยการค้นหามิติข้อมูล mostRecentAccessEpochTimeMicros
userEmail และaccessCount เมตริก
รายงานมี 1 แถวต่อผู้ใช้แต่ละราย: mostRecentAccessEpochTimeMicros
มิติข้อมูลจะรวบรวมบันทึกการเข้าถึงข้อมูลสําหรับผู้ใช้แต่ละรายที่เข้าถึงพร็อพเพอร์ตี้
และแสดงเวลาเข้าถึงล่าสุด (เป็นไมโครวินาทีแบบ Unix นับตั้งแต่
Epoch) สําหรับแต่ละแถว
การแจกแจงการเข้าถึงของผู้ใช้
อีกตัวอย่างหนึ่งของรายงานที่มีประโยชน์คือการแบ่งรายละเอียดการเข้าถึงของผู้ใช้ตามกลไกการเข้าถึง (เช่น อินเทอร์เฟซผู้ใช้ของ Google Analytics, API ฯลฯ)
| เวลาการเข้าถึงล่าสุดซึ่งแสดงเป็นเวลา Unix Epoch โดยวัดเป็นไมโครวินาที | อีเมลผู้ใช้ | กลไกการเข้าถึง | จำนวนการเข้าถึง |
|---|---|---|---|
| 1525220215028367 | Alex@example.net | Firebase | 31 |
| 1525220215555778 | Alex@example.net | อินเทอร์เฟซผู้ใช้ Google Analytics | 1 |
| 1525220215022378 | Bola@example.net | อินเทอร์เฟซผู้ใช้ Google Analytics | 65 |
| 1525220215026389 | Bola@example.net | Google Analytics API | 894 |
| 1525220215025631 | Charlie@example.net | Google Analytics API | 67 |
| 1525220215068325 | Mahan@example.net | Google Ads | 3 |
คุณสร้างรายงานนี้ได้โดยการค้นหามิติข้อมูล mostRecentAccessEpochTimeMicros,
userEmail, accessMechanism และaccessCount
เมตริก
รายงานประกอบด้วย 1 แถวต่อชุดค่าผสมของผู้ใช้/กลไกการเข้าถึงแต่ละชุด มิติข้อมูล
mostRecentAccessEpochTimeMicros มีเวลาล่าสุดที่ผู้ใช้
เข้าถึงพร็อพเพอร์ตี้โดยใช้กลไกการเข้าถึงที่ระบุ
ภาพรวมการเข้าถึงพร็อพเพอร์ตี้
คุณสร้างรายงานสําหรับพร็อพเพอร์ตี้ได้โดยไม่ต้องแบ่งย่อยตามผู้ใช้แต่ละราย ตัวอย่างเช่น รายงานต่อไปนี้ระบุความถี่ในการเข้าถึงพร็อพเพอร์ตี้ โดยใช้กลไกการเข้าถึงต่างๆ
| รหัสพร็อพเพอร์ตี้ที่เข้าถึง | ชื่อพร็อพเพอร์ตี้ที่เข้าถึง | กลไกการเข้าถึง | จำนวนการเข้าถึง |
|---|---|---|---|
| 12345678 | DemoApp | Firebase | 31 |
| 12345678 | DemoApp | อินเทอร์เฟซผู้ใช้ Google Analytics | 624 |
| 12345678 | DemoApp | Google Ads | 83 |
| 12345678 | DemoApp | Google Analytics API | 1744 |
คุณสร้างรายงานนี้ได้โดยการค้นหามิติข้อมูล accessedPropertyId,
accessedPropertyName, accessMechanism และaccessCount
เมตริก
รายงานจะมี 1 แถวต่อชุดค่าผสมรหัสพร็อพเพอร์ตี้/กลไกการเข้าถึงแต่ละชุด
การเข้าถึงข้อมูลส่วนบุคคล
หากต้องการสร้างรายงานที่แต่ละแถวอิงตามบันทึกการเข้าถึงข้อมูลแต่ละรายการ ให้ละเว้นมิติข้อมูล mostRecentAccessEpochTimeMicros จากการค้นหาและใช้มิติข้อมูล epochTimeMicros แทน ไม่จำเป็นต้องค้นหาเมตริก
accessCount เนื่องจากทุกแถวของรายงานมีข้อมูลเกี่ยวกับการเข้าถึงข้อมูลครั้งเดียว
รายงานต่อไปนี้มีข้อมูลโดยละเอียดเกี่ยวกับทุกครั้งที่ผู้ใช้ เข้าถึงพร็อพเพอร์ตี้ที่ระบุ
| เวลา Unix Epoch หน่วยเป็นไมโครวินาที | อีเมลผู้ใช้ | รหัสพร็อพเพอร์ตี้ที่เข้าถึง | ชื่อพร็อพเพอร์ตี้ที่เข้าถึง | IP ผู้ใช้ | กลไกการเข้าถึง | ข้อมูลค่าใช้จ่ายที่แสดงผล | ข้อมูลรายได้ที่แสดงผล |
|---|---|---|---|---|---|---|---|
| 1525220215025371 | Bola@example.net | 12345678 | DemoApp | 1.2.3.1 | อินเทอร์เฟซผู้ใช้ Google Analytics | จริง | จริง |
| 1525220645645645 | Mahan@example.net | 12345678 | DemoApp | 1.2.3.5 | อินเทอร์เฟซผู้ใช้ Google Analytics | เท็จ | เท็จ |
| 1525220211312322 | Bola@example.net | 12345678 | DemoApp | 11.22.33.11 | Google Ads | จริง | เท็จ |
| 1525220210234221 | Alex@example.net | 12345678 | DemoApp | 11.22.33.22 | Firebase | เท็จ | เท็จ |
| 1525220215028368 | Alex@example.net | 12345678 | DemoApp | 1.2.3.2 | Google Ads | เท็จ | เท็จ |
| 1525220214234231 | Mahan@example.net | 12345678 | DemoApp | 11.22.33.55 | Google Ads | จริง | จริง |
| 1525220423423452 | Charlie@example.net | 12345678 | DemoApp | 1.2.3.3 | Google Analytics API | จริง | เท็จ |
| 1525220132312333 | Mahan@example.net | 12345678 | DemoApp | 1.2.3.5 | Google Ads | จริง | จริง |
คุณสร้างรายงานนี้ได้โดยการค้นหามิติข้อมูล epochTimeMicros, userEmail,
accessedPropertyId, accessedPropertyName, userIP, accessMechanism,
costDataReturned, revenueDataReturned