Management API ของ Google Analytics ช่วยให้คุณสร้างรายงานที่ไม่ได้เก็บตัวอย่างโดยใช้โปรแกรมได้
เกริ่นนำ
รายงานที่ไม่ได้เก็บตัวอย่างคือรายงาน Google Analytics ที่สร้างขึ้นโดยใช้ข้อมูลที่ไม่ได้เก็บตัวอย่าง ปัจจุบันรายงานแบบไม่สุ่มตัวอย่างมีให้บริการแก่ผู้ใช้ Google Analytics 360 เท่านั้น
API นี้ช่วยให้คุณทำสิ่งต่อไปนี้ได้
- ดึงข้อมูลการกำหนดค่าเกี่ยวกับรายงานที่ไม่ได้เก็บตัวอย่างที่มีอยู่ทั้งหมด สร้างรายงานที่ไม่ได้เก็บตัวอย่างแบบครั้งเดียว
- ตรวจสอบสถานะการประมวลผลของรายงานที่ไม่ได้เก็บตัวอย่าง
- รับลิงก์ไปยังไฟล์ข้อมูลสำหรับรายงานแบบไม่สุ่มตัวอย่างเมื่อการประมวลผลเสร็จสมบูรณ์
- ลบรายงานที่ไม่ได้เก็บตัวอย่าง
การดึงข้อมูลสำหรับรายงานที่ไม่ได้เก็บตัวอย่าง
เมื่อคุณสร้างรายงานแบบไม่สุ่มตัวอย่าง อาจใช้เวลาสักพักกว่าที่จะสามารถดาวน์โหลดรายงานได้ ช่อง status
สำหรับรายงานที่ไม่ได้เก็บตัวอย่างจะระบุว่าการประมวลผลรายงานนั้นเสร็จสมบูรณ์หรือไม่ เมื่อทำเครื่องหมายสถานะเป็น COMPLETED
แล้ว คุณจะใช้ downloadType
และช่องรายละเอียดการดาวน์โหลดที่เกี่ยวข้องเพื่อเรียกไฟล์ที่มีข้อมูลรายงานได้ เช่น
- หากค่า
downloadType
คือGOOGLE_DRIVE
ให้ใช้ช่องdriveDownloadDetails
- หากค่า
downloadType
คือGOOGLE_CLOUD_STORAGE
ให้ใช้ช่องcloudStorageDownloadDetails
อย่าใช้แบบสำรวจที่มีอัตราสูงอย่างต่อเนื่องเพื่อตรวจสอบสถานะของรายงานเหล่านี้ เนื่องจากโควต้ารายวันของคุณอาจหมดเร็วพอสมควร คุณควรมีความล่าช้าระหว่างคำขอเมื่อตรวจสอบสถานะของรายงานที่ไม่ได้เก็บตัวอย่าง
การใช้ 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 การรายงานหลักเพื่อดึงข้อมูลรายงานและมีข้อมูลตัวอย่าง คุณสามารถสร้างรายงานที่ไม่ได้เก็บตัวอย่างสำหรับข้อความค้นหาเดียวกันได้ ดังนี้
- ส่งคำขอ Core Reporting API
- ในการตอบสนอง ให้ตรวจสอบพร็อพเพอร์ตี้ hasSampledData เพื่อดูว่าข้อมูลได้รับการสุ่มตัวอย่างหรือไม่
- หากคุณสมบัตินี้ได้รับการตั้งค่าเป็น "จริง" คุณสามารถใช้ฟิลด์ข้อความค้นหาและ 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 การกำหนดค่าและการรายงานสำหรับรายการขีดจำกัดและโควต้าทั้งหมดที่มีผลเมื่อสร้างรายงานแบบไม่สุ่มตัวอย่าง