Hướng dẫn cho nhà phát triển báo cáo chưa được lấy mẫu

API Quản lý Google Analytics cho phép bạn tạo báo cáo chưa được lấy mẫu theo phương thức lập trình.

Giới thiệu

Báo cáo chưa được lấy mẫu là báo cáo Google Analytics đã được tạo bằng dữ liệu chưa được lấy mẫu. Báo cáo chưa được lấy mẫu hiện chỉ có sẵn cho người dùng Google Analytics 360.

Với API này, bạn có thể:

  • Truy xuất thông tin cấu hình về tất cả các báo cáo chưa được lấy mẫu hiện có của bạn. tạo báo cáo chưa được lấy mẫu một lần.
  • Kiểm tra trạng thái xử lý của báo cáo chưa được lấy mẫu.
  • Nhận đường liên kết đến tệp dữ liệu cho báo cáo chưa được lấy mẫu sau khi quá trình xử lý hoàn tất.
  • Xoá báo cáo chưa được lấy mẫu.

Truy xuất dữ liệu cho báo cáo chưa được lấy mẫu

Khi bạn tạo báo cáo chưa được lấy mẫu, có thể mất một chút thời gian trước khi báo cáo có sẵn để tải xuống. Trường status cho báo cáo chưa được lấy mẫu cho biết liệu quá trình xử lý báo cáo đó đã hoàn tất hay chưa. Sau khi trạng thái được đánh dấu là COMPLETED, bạn có thể sử dụng downloadType và trường thông tin tải xuống tương ứng để truy xuất tệp chứa dữ liệu báo cáo. Ví dụ:

Đừng sử dụng tính năng thăm dò ý kiến liên tục với tốc độ cao để kiểm tra trạng thái của các báo cáo này, vì có khả năng bạn sẽ nhanh hết hạn mức hằng ngày. Bạn nên chờ một khoảng thời gian giữa các yêu cầu khi kiểm tra trạng thái của báo cáo chưa được lấy mẫu.

Sử dụng Google Drive / Google Cloud Storage API

Tuỳ thuộc vào nơi tệp của bạn được phân phối (Google Drive hoặc Google Cloud Storage), bạn sẽ nhận được đường liên kết tương ứng cho tệp đó. Bạn có thể sử dụng API Drive hoặc API Cloud Storage để tải tệp xuống bằng đường liên kết này. Để biết thêm chi tiết về cách truy xuất tệp, hãy xem tài liệu API Google Drive hoặc API Google Cloud Storage.

Ví dụ: nếu báo cáo chưa được lấy mẫu của bạn được lưu trữ trong Google Drive, bạn có thể tạo một yêu cầu HTTP GET được uỷ quyền đến URL tài nguyên của tệp và thêm tham số truy vấn alt=media.

GET /drive/v2/files/XXXXXX?alt=media
Host: www.googleapis.com
Content-length: 0
Authorization: Bearer ya29.AHESVbXTUv5mHMo3RYfmS1YJonjzzdTOFZwvyOAUVhrs

Trong đó XXXXXX là báo cáo chưa được lấy mẫu driveDownloadDetails.documentId

Xác thực

Nếu định sử dụng Báo cáo chưa được lấy mẫu cùng với Drive hoặc API Cloud Storage để tải tệp xuống, thì bạn cần đưa vào phạm vi xác thực tương ứng cho API đó (ngoài phạm vi xác thực API Analytics) khi yêu cầu mã thông báo OAuth 2.0. Điều này sẽ cho phép bạn sử dụng cùng một mã thông báo xác thực cho cả hai API.

Xoá báo cáo chưa được lấy mẫu

Bạn có thể xoá báo cáo chưa được lấy mẫu đã hoàn thành hoặc đã lên lịch. Tuy nhiên, việc gọi delete trong khoảng thời gian ngắn trong khi báo cáo đang được tạo sẽ gây ra lỗi. Việc xóa báo cáo chưa được lấy mẫu chỉ xóa tài nguyên khỏi chế độ xem (hồ sơ) GA của bạn, dữ liệu đã xuất trong Google Drive hoặc Google Cloud Storage sẽ vẫn còn.

Các quy định hạn chế

Các hạn chế sau áp dụng cho việc tạo báo cáo chưa được lấy mẫu:

  • Bạn chỉ có thể chỉ định tối đa 4 phương diện.
  • Một số loại dữ liệu báo cáo không được hỗ trợ, ví dụ: Dữ liệu Google Ads.
  • Những truy vấn được cho là quá tốn kém sẽ không được hỗ trợ.
  • Nếu đã tạo quá nhiều báo cáo chưa được lấy mẫu và đạt đến giới hạn, bạn có thể xoá các tài nguyên báo cáo chưa được lấy mẫu một cách an toàn, giữ nguyên dữ liệu báo cáo đã tạo trong Google Drive hoặc Google Cloud.

Nếu yêu cầu của bạn được xác định là quá tốn kém, thao tác tạo sẽ trả về lỗi kèm theo thông báo thích hợp. Nếu điều này xảy ra, bạn có thể:

  • Yêu cầu ít phương diện hơn.
  • Chia truy vấn thành nhiều truy vấn có phạm vi ngày nhỏ hơn và ghép các báo cáo kết quả lại với nhau.

Trường hợp Sử dụng

Báo cáo chưa được lấy mẫu và API báo cáo chính

Nếu bạn sử dụng API báo cáo chính để truy xuất dữ liệu báo cáo và dữ liệu đó chứa dữ liệu được lấy mẫu, thì bạn có thể tạo báo cáo chưa được lấy mẫu cho cùng một truy vấn như sau:

  1. Tạo yêu cầu API báo cáo chính.
  2. Trong phản hồi, hãy kiểm tra thuộc tính containsSampledData để xem dữ liệu có được lấy mẫu hay không.
  3. Nếu đặt thuộc tính này thành true, bạn có thể sử dụng trường truy vấn và trường profileInfo từ cùng một phản hồi để tạo yêu cầu cho một báo cáo chưa được lấy mẫu.

Trường truy vấn mẫu trong phản hồi của API Báo cáo chính:

"query": {
  "start-date": "2011-01-01",
  "end-date": "2011-01-31",
  "ids": "ga:1234",
  "dimensions": "ga:browser",
  "metrics": [
  "ga:visits"
  ],
  "filters": "ga:country==US",
  "start-index": 1,
  "max-results": 1000
}

Trường profileInfo mẫu trong phản hồi của API Báo cáo chính:

"profileInfo": {
  "profileId": "1234",
  "accountId": "12345",
  "webPropertyId": "UA-12345-1",
  "internalWebPropertyId": "11254",
  "profileName": "Name of the profile",
  "tableId": "ga:1234"
}

Sau đây là ví dụ về cách tạo báo cáo chưa được lấy mẫu từ phản hồi của API Báo cáo chính:

Java

// Make a Core Reporting API call.
GaData reportingApiData = v3.data().ga().get(...).execute();

// Check if the response is sampled.
if (reportingApiData.getContainsSampledData()) {

  // Use the “query” object to construct an unsampled report object.
  Query query = reportingApiData.getQuery();
  UnsampledReport report = new UnsampledReport()
      .setDimensions(query.getDimensions())
      .setMetrics(Joiner.on(',').join(query.getMetrics()))
      .setStartDate(startDate)
      .setEndDate(endDate)
      .setSegment(query.getSegment())
      .setFilters(query.getFilters())
      .setTitle(“My unsampled report”);

  // Use “profileInfo” to create an InsertRequest for creating an
  // unsampled report.
  ProfileInfo profileInfo = reportingApiData.getProfileInfo();
  Insert insertRequest = analytics.management().unsampledReports()
  .insert(profileInfo.getAccountId(),
          profileInfo.getWebPropertyId(),
          profileInfo.getProfileId(),
          report);
  UnsampledReport createdReport = insertRequest.execute();
}

Ghép dữ liệu chưa được lấy mẫu cho nhiều ngày

Bạn có thể kết hợp hoặc ghép các báo cáo trong nhiều ngày để nhận được dữ liệu chưa được lấy mẫu trong một phạm vi ngày cụ thể. Điều này rất hữu ích khi yêu cầu dữ liệu chưa được lấy mẫu có kích thước quá lớn. Trong những trường hợp như vậy, bạn có thể chia yêu cầu thành nhiều yêu cầu có phạm vi ngày ngắn hơn rồi kết hợp kết quả.

Chính sách về hạn mức

Xem Hạn mức và giới hạn API báo cáo và cấu hình để biết danh sách đầy đủ các giới hạn và hạn mức áp dụng khi tạo báo cáo chưa được lấy mẫu.