คู่มือนักพัฒนาซอฟต์แวร์รายงานที่ไม่ได้เก็บตัวอย่าง

Management API ของ Google Analytics ช่วยให้คุณสร้างรายงานที่ไม่ได้เก็บตัวอย่างโดยใช้โปรแกรมได้

เกริ่นนำ

รายงานที่ไม่ได้เก็บตัวอย่างคือรายงาน Google Analytics ที่สร้างขึ้นโดยใช้ข้อมูลที่ไม่ได้เก็บตัวอย่าง ปัจจุบันรายงานแบบไม่สุ่มตัวอย่างมีให้บริการแก่ผู้ใช้ Google Analytics 360 เท่านั้น

API นี้ช่วยให้คุณทำสิ่งต่อไปนี้ได้

  • ดึงข้อมูลการกำหนดค่าเกี่ยวกับรายงานที่ไม่ได้เก็บตัวอย่างที่มีอยู่ทั้งหมด สร้างรายงานที่ไม่ได้เก็บตัวอย่างแบบครั้งเดียว
  • ตรวจสอบสถานะการประมวลผลของรายงานที่ไม่ได้เก็บตัวอย่าง
  • รับลิงก์ไปยังไฟล์ข้อมูลสำหรับรายงานแบบไม่สุ่มตัวอย่างเมื่อการประมวลผลเสร็จสมบูรณ์
  • ลบรายงานที่ไม่ได้เก็บตัวอย่าง

การดึงข้อมูลสำหรับรายงานที่ไม่ได้เก็บตัวอย่าง

เมื่อคุณสร้างรายงานแบบไม่สุ่มตัวอย่าง อาจใช้เวลาสักพักกว่าที่จะสามารถดาวน์โหลดรายงานได้ ช่อง status สำหรับรายงานที่ไม่ได้เก็บตัวอย่างจะระบุว่าการประมวลผลรายงานนั้นเสร็จสมบูรณ์หรือไม่ เมื่อทำเครื่องหมายสถานะเป็น COMPLETED แล้ว คุณจะใช้ downloadType และช่องรายละเอียดการดาวน์โหลดที่เกี่ยวข้องเพื่อเรียกไฟล์ที่มีข้อมูลรายงานได้ เช่น

อย่าใช้แบบสำรวจที่มีอัตราสูงอย่างต่อเนื่องเพื่อตรวจสอบสถานะของรายงานเหล่านี้ เนื่องจากโควต้ารายวันของคุณอาจหมดเร็วพอสมควร คุณควรมีความล่าช้าระหว่างคำขอเมื่อตรวจสอบสถานะของรายงานที่ไม่ได้เก็บตัวอย่าง

การใช้ Google ไดรฟ์ / Google Cloud Storage API

คุณจะได้รับลิงก์ที่เกี่ยวข้องสำหรับไฟล์นั้นโดยขึ้นอยู่กับตำแหน่งที่ส่ง (Google ไดรฟ์หรือ Google Cloud Storage) คุณจะใช้ Drive API หรือ Cloud Storage API เพื่อดาวน์โหลดไฟล์ได้โดยใช้ลิงก์นี้ โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีเรียกไฟล์ที่หัวข้อเอกสาร Google Drive API หรือ Google Cloud Storage API

เช่น หากจัดเก็บรายงานแบบไม่สุ่มตัวอย่างใน Google ไดรฟ์ คุณอาจสร้างคำขอ HTTP GET ที่ได้รับอนุญาตไปยัง URL ทรัพยากรของไฟล์และรวมพารามิเตอร์การค้นหา alt=media ไว้ด้วยได้

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

โดยที่ XXXXXX คือรายงานที่ไม่ได้เก็บตัวอย่าง driveDownloadDetails.documentId

การตรวจสอบสิทธิ์

หากคุณกำลังวางแผนที่จะใช้รายงานที่ไม่ได้เก็บตัวอย่างร่วมกับไดรฟ์หรือ Cloud Storage API สำหรับการดาวน์โหลดไฟล์ คุณจะต้องระบุขอบเขตการตรวจสอบสิทธิ์ที่เกี่ยวข้องสำหรับ API นั้น (นอกเหนือจากขอบเขตการตรวจสอบสิทธิ์ API ของ Analytics) ขณะขอโทเค็น OAuth 2.0 วิธีนี้จะช่วยให้คุณใช้โทเค็นการตรวจสอบสิทธิ์เดียวกันสำหรับ API ทั้งสองได้

การลบรายงานที่ไม่ได้เก็บตัวอย่าง

คุณสามารถลบรายงานที่ไม่ได้เก็บตัวอย่างที่ตั้งเวลาไว้หรือที่เสร็จสมบูรณ์แล้ว แต่การเรียกใช้ delete ในช่วงเวลาสั้นๆ ขณะที่สร้างรายงานจะทำให้เกิดข้อผิดพลาด การลบรายงานที่ไม่ได้เก็บตัวอย่างจะเป็นการนำทรัพยากรออกจากข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ของ GA เท่านั้น ส่วนข้อมูลที่ส่งออกใน Google ไดรฟ์หรือ Google Cloud Storage จะยังคงอยู่

ข้อจำกัด

การสร้างรายงานที่ไม่ได้เก็บตัวอย่างมีข้อจำกัดต่อไปนี้

  • คุณสามารถระบุมิติข้อมูลได้สูงสุด 4 รายการเท่านั้น
  • ระบบไม่รองรับข้อมูลการรายงานบางประเภท เช่น ข้อมูล Google Ads
  • ระบบไม่รองรับข้อความค้นหาที่คิดว่าแพงเกินไป
  • หากคุณสร้างรายงานที่ไม่ได้เก็บตัวอย่างจำนวนมากเกินไปและถึงขีดจำกัดแล้ว คุณสามารถลบแหล่งข้อมูลรายงานที่ไม่ได้เก็บตัวอย่างได้อย่างปลอดภัย โดยปล่อยข้อมูลรายงานที่สร้างขึ้นใน Google ไดรฟ์หรือ Google Cloud ไว้ตามเดิม

หากมีการพิจารณาว่าคำขอของคุณมีราคาแพงเกินไป การดำเนินการสร้างจะแสดงผลข้อผิดพลาดพร้อมข้อความที่เหมาะสม หากเกิดกรณีเช่นนี้ คุณจะทำสิ่งต่อไปนี้ได้

  • ขอมิติข้อมูลน้อยลง
  • แบ่งข้อความค้นหาออกเป็นหลายข้อความค้นหาโดยมีช่วงวันที่ที่สั้นลง และรวมรายงานที่ได้เข้าด้วยกัน

กรณีการใช้งาน

รายงานที่ไม่ได้เก็บตัวอย่างและ API การรายงานหลัก

หากคุณใช้ API การรายงานหลักเพื่อดึงข้อมูลรายงานและมีข้อมูลตัวอย่าง คุณสามารถสร้างรายงานที่ไม่ได้เก็บตัวอย่างสำหรับข้อความค้นหาเดียวกันได้ ดังนี้

  1. ส่งคำขอ Core Reporting API
  2. ในการตอบสนอง ให้ตรวจสอบพร็อพเพอร์ตี้ hasSampledData เพื่อดูว่าข้อมูลได้รับการสุ่มตัวอย่างหรือไม่
  3. หากคุณสมบัตินี้ได้รับการตั้งค่าเป็น "จริง" คุณสามารถใช้ฟิลด์ข้อความค้นหาและ profileInfo จากคำตอบเดียวกันเพื่อสร้างคำขอสำหรับรายงานที่ไม่ได้เก็บตัวอย่างได้

ตัวอย่างช่องการค้นหาจากคำตอบของ Core Reporting API

"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
}

ตัวอย่างช่อง profileInfo จากการตอบสนองของ Core Reporting API

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

ต่อไปนี้เป็นตัวอย่างวิธีสร้างรายงานที่ไม่ได้เก็บตัวอย่างจากการตอบสนองของ API การรายงานหลัก

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();
}

การต่อข้อมูลที่ไม่ได้เก็บตัวอย่างเป็นเวลาหลายวัน

คุณสามารถรวมหรือรวมรายงานต่างๆ ไว้หลายวันเพื่อดูข้อมูลแบบไม่สุ่มตัวอย่างในช่วงวันที่ที่กำหนด วิธีนี้มีประโยชน์เมื่อคำขอข้อมูลที่ไม่ได้สุ่มตัวอย่างมีขนาดใหญ่เกินไป ในกรณีดังกล่าว คุณสามารถแบ่งคำขอออกเป็นคำขอหลายรายการโดยให้มีช่วงวันที่ที่สั้นลง แล้วรวมผลลัพธ์เข้าด้วยกัน

นโยบายโควต้า

โปรดดูขีดจำกัดและโควต้าของ API การกำหนดค่าและการรายงานสำหรับรายการขีดจำกัดและโควต้าทั้งหมดที่มีผลเมื่อสร้างรายงานแบบไม่สุ่มตัวอย่าง