การตรวจสอบประวัติการค้นหาช่วยให้คุณสร้างรายงานของงานที่ทํางานทั้งหมดโดยใช้บัญชี Ads Data Hub ได้ ซึ่งจะช่วยให้คุณตอบคำถามเกี่ยวกับผู้ที่เข้าถึงข้อมูลของคุณและเวลาที่เข้าถึงได้
การตรวจสอบประวัติการค้นหาจะเขียนเป็นตาราง BigQuery ที่มีรายการบันทึกสําหรับการค้นหาทั้งหมดที่เรียกใช้โดยใช้บัญชี Ads Data Hub หากต้องการดูการตรวจสอบประวัติการค้นหาของบัญชี คุณต้องสร้างรายงานผ่าน API ก่อน บันทึกการตรวจสอบแต่ละรายการจะมีข้อมูล 1 วัน คุณสร้างบันทึกการตรวจสอบของวันใดก็ได้ภายใน 30 วันที่ผ่านมา
การตรวจสอบประวัติการค้นหามีให้บริการแก่ผู้ใช้ขั้นสูงเท่านั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับการเข้าถึงตามบทบาท
รูปแบบการตรวจสอบประวัติการค้นหา
การตรวจสอบประวัติการค้นหาแต่ละรายการใช้สคีมาต่อไปนี้
ชื่อช่อง | คำอธิบาย |
---|---|
customer_id | รหัสลูกค้า Ads Data Hub |
ads_customer_id | รหัสของบัญชีย่อย หากมี (มิฉะนั้นจะเหมือนกับ customer_id) |
match_table_customer_id | รหัสของบัญชีที่มีตารางการจับคู่ หากมี (มิฉะนั้นจะเหมือนกับ customer_id) |
user_email | อีเมลของผู้ใช้ที่เรียกใช้การค้นหา |
query_start_time | เวลาเริ่มต้นการเรียกใช้การค้นหา |
query_end_time | เวลาที่การค้นหาเสร็จสิ้น |
query_type | แยกความแตกต่างระหว่างคําค้นหาการวิเคราะห์กับคําค้นหากลุ่มเป้าหมาย |
query_resource_id | รหัสที่เชื่อมโยงกับคำค้นหา |
query_text | SQL ของการค้นหา |
query_parameters | |
query_parameters.name | ชื่อพารามิเตอร์ของการค้นหา |
query_parameters.value | ค่าที่ส่งผ่านพารามิเตอร์ row_merge_summary ของการค้นหา |
row_merge_summary.column_name | ชื่อคอลัมน์ |
row_merge_summary.merge_type | ประเภทของสรุปการผสานแถว |
row_merge_summary.constant_value | ค่าของชุดค่าคงที่ (จะเป็นค่าว่างหากไม่มีการใช้ค่าคงที่) |
destination_table | ตำแหน่ง (ใน BigQuery) ที่เขียนการค้นหา |
การเข้าถึงการตรวจสอบประวัติการค้นหา
หากต้องการเข้าถึงการตรวจสอบประวัติการค้นหา คุณจะต้องเรียกใช้ API ดูโค้ดตัวอย่างสำหรับการเรียก API ได้ที่ด้านล่าง หรือดูเอกสารประกอบข้อมูลอ้างอิง และเขียนการค้นหาของคุณเอง
ระบบจะเขียนผลลัพธ์ของคําขอ API ลงในชุดข้อมูล BigQuery ที่คุณระบุในส่วนเนื้อหาของคําขอ API
"""This sample shows how to create a query history audit.
For the program to execute successfully, ensure that you run it using Python 3.
"""
from __future__ import print_function
from json import dumps
from google_auth_oauthlib import flow
from googleapiclient.discovery import build
appflow = flow.InstalledAppFlow.from_client_secrets_file(
# Replace client_secrets.json with your own client secret file.
'client_secrets.json',
scopes=['https://www.googleapis.com/auth/adsdatahub'])
appflow.run_local_server()
credentials = appflow.credentials
developer_key = input('Developer key: ').strip()
service = build('adsdatahub', 'v1', credentials=credentials,
developerKey=developer_key)
def pprint(x):
print(dumps(x, sort_keys=True, indent=4))
customer_id = input('Customer ID (e.g. "customers/123"): ').strip()
bq_project = input('Destination BigQuery project ID (e.g. "your-project"): ').strip()
dataset_id = input('Destination BigQuery dataset (e.g. "your-dataset"): ').strip()
start = input('The start date for your query history audit. Formatted as "mm/dd/yyyy": ').strip().split('/')
end = input('The end date for your query history audit. Should be 1 day later than start_date. Formatted as "mm/dd/yyyy": ').strip().split('/')
choice = input("Do you want to enter a timezone? Defaults to UTC otherwise. (y/n) ")
if choice.lower() == 'y':
timezone = input("Timezone (e.g. 'UTC'): ")
else:
timezone = 'UTC'
body = {
'project_id': bq_project,
'dataset': dataset_id,
'start_date': {
'year': start[2],
'day': start[1],
'month': start[0]
},
'end_date': {
'year': end[2],
'day': end[1],
'month': end[0]
},
'time_zone': timezone
}
pprint(service.customers().exportJobHistory(customer=customer_id, body=body).execute())