ดูการตรวจสอบประวัติการค้นหา

การตรวจสอบประวัติการค้นหาช่วยให้คุณสร้างรายงานของงานทั้งหมดที่เรียกใช้โดยใช้บัญชี 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())