รวบรวมข้อมูลบางประเภทหรือสตรีมหนึ่งๆ ลงในที่เก็บข้อมูลโดยแยกตามประเภท ประเภทของขอบเขต ชุดข้อมูลหลายชุดในประเภทต่างๆ และจากหลายชุด สามารถรวมแหล่งที่มาไว้ในประเภทที่เก็บข้อมูล 1 รายการต่อคำขอเท่านั้น ลองใช้เลย
ส่งคำขอ
คำขอ HTTP
POST https://www.googleapis.com/fitness/v1/users/userId/dataset:aggregate
พารามิเตอร์
ชื่อพารามิเตอร์ | ค่า | คำอธิบาย |
---|---|---|
พารามิเตอร์เส้นทาง | ||
userId |
string |
ข้อมูลสรุปสำหรับบุคคลที่ระบุ ใช้ me เพื่อระบุ
ผู้ใช้ที่ตรวจสอบสิทธิ์แล้ว ขณะนี้รองรับเฉพาะ me เท่านั้น
|
การให้สิทธิ์
คำขอนี้ต้องได้รับการให้สิทธิ์ตามขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต
ขอบเขต |
---|
https://www.googleapis.com/auth/fitness.activity.read |
https://www.googleapis.com/auth/fitness.activity.write |
https://www.googleapis.com/auth/fitness.location.read |
https://www.googleapis.com/auth/fitness.location.write |
https://www.googleapis.com/auth/fitness.body.read |
https://www.googleapis.com/auth/fitness.body.write |
https://www.googleapis.com/auth/fitness.nutrition.read |
https://www.googleapis.com/auth/fitness.nutrition.write |
https://www.googleapis.com/auth/fitness.blood_pressure.read |
https://www.googleapis.com/auth/fitness.blood_pressure.write |
https://www.googleapis.com/auth/fitness.blood_glucose.read |
https://www.googleapis.com/auth/fitness.blood_glucose.write |
https://www.googleapis.com/auth/fitness.oxygen_saturation.read |
https://www.googleapis.com/auth/fitness.oxygen_saturation.write |
https://www.googleapis.com/auth/fitness.body_temperature.read |
https://www.googleapis.com/auth/fitness.body_temperature.write |
https://www.googleapis.com/auth/fitness.reproductive_health.read |
https://www.googleapis.com/auth/fitness.reproductive_health.write |
สำหรับข้อมูลเพิ่มเติม โปรดดูที่หน้าการตรวจสอบสิทธิ์และการให้สิทธิ์
เนื้อหาของคำขอ
ในเนื้อหาคำขอ ให้ข้อมูลในโครงสร้างต่อไปนี้
{ "startTimeMillis": long, "endTimeMillis": long, "aggregateBy": [ { "dataTypeName": string, "dataSourceId": string } ], "filteredDataQualityStandard": [ string ], "bucketByTime": { "durationMillis": long, "period": { "type": string, "value": integer, "timeZoneId": string } }, "bucketBySession": { "minDurationMillis": long }, "bucketByActivityType": { "minDurationMillis": long, "activityDataSourceId": string }, "bucketByActivitySegment": { "minDurationMillis": long, "activityDataSourceId": string } }
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย | หมายเหตุ |
---|---|---|---|
startTimeMillis |
long |
จุดเริ่มต้นของกรอบเวลา ระบบจะรวบรวมข้อมูลที่ตัดกับกรอบเวลานี้ เวลาในหน่วยมิลลิวินาทีตั้งแต่ Epoch รวมด้วย | |
endTimeMillis |
long |
จุดสิ้นสุดของกรอบเวลา ระบบจะรวบรวมข้อมูลที่ตัดกับกรอบเวลานี้ เวลาในหน่วยมิลลิวินาทีตั้งแต่ Epoch รวมด้วย | |
aggregateBy[] |
list |
ข้อกำหนดของข้อมูลที่จะรวม ต้องระบุข้อมูลจำเพาะของ totalBy อย่างน้อย 1 รายการ ระบบจะรวบรวมข้อมูลทั้งหมดที่ระบุโดยใช้เกณฑ์ที่เก็บข้อมูลเดียวกัน ในการตอบสนองจะมีชุดข้อมูล 1 ชุดสำหรับข้อมูลจำเพาะทั้งหมดของ totalBy | |
aggregateBy[].dataTypeName |
string |
ประเภทข้อมูลที่จะรวม แหล่งข้อมูลทั้งหมดที่ระบุข้อมูลประเภทนี้จะให้ข้อมูลในการรวม การตอบกลับจะมีชุดข้อมูลเดี่ยวสำหรับชื่อประเภทข้อมูลนี้ ชุดข้อมูลจะมีรหัสแหล่งข้อมูลเป็น Derived: | |
aggregateBy[].dataSourceId |
string |
รหัสแหล่งข้อมูลที่จะรวบรวม การสรุปจะรวมเฉพาะข้อมูลจากรหัสแหล่งข้อมูลที่ระบุเท่านั้น หากระบุไว้ จะต้องมีแหล่งข้อมูลนี้อยู่ ขอบเขต OAuth ในข้อมูลเข้าสู่ระบบที่ระบุต้องให้สิทธิ์การอ่านข้อมูลประเภทนี้ ชุดข้อมูลในการตอบกลับจะมีรหัสแหล่งข้อมูลเดียวกัน หมายเหตุ: ระบบจะรวบรวมข้อมูลโดยใช้ dataTypeName หรือ dataSourceId ไม่ใช่ทั้ง 2 รายการ | |
filteredDataQualityStandard[] |
list |
ไม่ป้อนข้อมูลในช่องนี้ ระบบจะไม่สนใจ | |
bucketByTime |
nested object |
ระบุว่าจะรวบรวมข้อมูลตามช่วงเวลาเดียว ไม่เกี่ยวข้องกับข้อกำหนดการเก็บข้อมูลอื่นๆ ร่วมกัน | |
bucketByTime.durationMillis |
long |
ระบุว่าที่เก็บข้อมูลผลลัพธ์จะรวบรวมข้อมูลตามกรอบเวลามิลลิวินาทีที่แน่นอน กรอบเวลาที่ไม่มีข้อมูลจะรวมอยู่ในการตอบกลับด้วยชุดข้อมูลที่ว่างเปล่า | |
bucketByTime.period |
nested object |
||
bucketByTime.period.type |
string |
ค่าที่ยอมรับได้ มีดังนี้
|
|
bucketByTime.period.value |
integer |
||
bucketByTime.period.timeZoneId |
string |
org.joda.timezone.DateTimeZone | |
bucketBySession |
nested object |
ระบุว่าจะรวมข้อมูลตามเซสชันผู้ใช้ ข้อมูลที่ไม่ได้อยู่ในช่วงเวลาของเซสชันจะไม่รวมอยู่ในคำตอบ ไม่เกี่ยวข้องกับข้อกำหนดการเก็บข้อมูลอื่นๆ ร่วมกัน | |
bucketBySession.minDurationMillis |
long |
ระบุว่าระบบจะพิจารณาและใช้เฉพาะเซสชันที่นานกว่า minDurationMillis เป็นคอนเทนเนอร์สำหรับข้อมูลรวม | |
bucketByActivityType |
nested object |
ระบุว่าจะรวมข้อมูลตามประเภทของกิจกรรมที่ดำเนินการเมื่อมีการบันทึกข้อมูล ระบบจะรวบรวมข้อมูลทั้งหมดที่บันทึกระหว่างกิจกรรมบางประเภท (.สำหรับช่วงเวลาที่ระบุ) ไว้ในที่เก็บข้อมูลเดียวกัน ข้อมูลที่บันทึกไว้ขณะที่ผู้ใช้ไม่ได้ใช้งานอยู่จะไม่รวมอยู่ในคำตอบ ไม่เกี่ยวข้องกับข้อกำหนดการเก็บข้อมูลอื่นๆ ร่วมกัน | |
bucketByActivityType.minDurationMillis |
long |
ระบุว่าระบบจะพิจารณาและใช้เฉพาะกลุ่มกิจกรรมที่มีระยะเวลานานกว่า minDurationMillis เป็นคอนเทนเนอร์สำหรับข้อมูลรวม | |
bucketByActivityType.activityDataSourceId |
string |
ระบบจะใช้สตรีมกิจกรรมเริ่มต้นหากไม่ได้ระบุ activityDataSourceId ที่เฉพาะเจาะจง | |
bucketByActivitySegment |
nested object |
ระบุว่าข้อมูลจะรวมแต่ละกลุ่มกิจกรรมที่บันทึกไว้สำหรับผู้ใช้ คล้ายกับ StorageByActivitySegment แต่จะเก็บข้อมูลกลุ่มกิจกรรมแต่ละกลุ่มแทนกลุ่มทั้งหมดที่อยู่ในประเภทเดียวกัน ไม่เกี่ยวข้องกับข้อกำหนดการเก็บข้อมูลอื่นๆ ร่วมกัน | |
bucketByActivitySegment.minDurationMillis |
long |
ระบุว่าระบบจะพิจารณาและใช้เฉพาะกลุ่มกิจกรรมที่มีระยะเวลานานกว่า minDurationMillis เป็นคอนเทนเนอร์สำหรับข้อมูลรวม | |
bucketByActivitySegment.activityDataSourceId |
string |
ระบบจะใช้สตรีมกิจกรรมเริ่มต้นหากไม่ได้ระบุ activityDataSourceId ที่เฉพาะเจาะจง |
คำตอบ
หากสำเร็จ เมธอดนี้จะแสดงเนื้อหาการตอบกลับซึ่งมีโครงสร้างต่อไปนี้
{ "bucket": [ { "type": string, "startTimeMillis": long, "endTimeMillis": long, "dataset": [ users.dataSources.datasets Resource ], "session": { "id": string, "name": string, "description": string, "startTimeMillis": long, "endTimeMillis": long, "modifiedTimeMillis": long, "application": { "packageName": string, "version": string, "detailsUrl": string, "name": string }, "activityType": integer, "activeTimeMillis": long }, "activity": integer } ] }
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย | หมายเหตุ |
---|---|---|---|
bucket[] |
list |
รายการที่เก็บข้อมูลที่มีข้อมูลรวม | |
bucket[].type |
string |
ประเภทของที่เก็บข้อมูลจะบ่งบอกประสิทธิภาพในการรวมข้อมูลในที่เก็บข้อมูล
ค่าที่ยอมรับได้ มีดังนี้
|
|
bucket[].startTimeMillis |
long |
เวลาเริ่มต้นสำหรับข้อมูลรวมในหน่วยมิลลิวินาทีตั้งแต่ Epoch รวมด้วย | |
bucket[].endTimeMillis |
long |
เวลาสิ้นสุดสำหรับข้อมูลรวมในหน่วยมิลลิวินาทีตั้งแต่ Epoch | |
bucket[].dataset[] |
list |
โดยจะมีชุดข้อมูล 1 ชุดต่อ AggregateBy ในคำขอ | |
bucket[].session |
nested object |
ใช้ได้กับ Bucket.Type.SESSION | |
bucket[].session.id |
string |
ตัวระบุที่ลูกค้าสร้างขึ้นซึ่งจะไม่ซ้ำกันในเซสชันทั้งหมดที่ผู้ใช้รายนี้เป็นเจ้าของ | |
bucket[].session.name |
string |
ชื่อเซสชันที่มนุษย์อ่านได้ | |
bucket[].session.description |
string |
คำอธิบายของเซสชันนี้ | |
bucket[].session.startTimeMillis |
long |
เวลาเริ่มต้นในหน่วยมิลลิวินาทีตั้งแต่ Epoch รวมด้วย | |
bucket[].session.endTimeMillis |
long |
เวลาสิ้นสุดในหน่วยมิลลิวินาทีตั้งแต่ Epoch รวมด้วย | |
bucket[].session.modifiedTimeMillis |
long |
การประทับเวลาที่ระบุว่าเซสชันได้รับการแก้ไขครั้งล่าสุดเมื่อใด | |
bucket[].session.application |
nested object |
แอปพลิเคชันที่สร้างเซสชัน | |
bucket[].session.application.packageName |
string |
ชื่อแพ็กเกจสำหรับแอปพลิเคชันนี้ ชื่อนี้จะใช้เป็นตัวระบุที่ไม่ซ้ำกันเมื่อสร้างโดยแอปพลิเคชัน Android แต่ไคลเอ็นต์ REST จะระบุไม่ได้ ไคลเอ็นต์ REST จะแสดงหมายเลขโปรเจ็กต์ของนักพัฒนาซอฟต์แวร์ในรหัสสตรีมข้อมูลของแหล่งข้อมูล แทนชื่อแพ็กเกจ | |
bucket[].session.application.version |
string |
เวอร์ชันของแอปพลิเคชัน คุณควรอัปเดตฟิลด์นี้เมื่อแอปพลิเคชันมีการเปลี่ยนแปลงในลักษณะที่ส่งผลต่อการคำนวณข้อมูล | |
bucket[].session.application.detailsUrl |
string |
URI ที่ไม่บังคับซึ่งสามารถใช้เพื่อลิงก์กลับไปยังแอปพลิเคชันได้ | |
bucket[].session.application.name |
string |
ชื่อของแอปพลิเคชันนี้ ชื่อนี้จำเป็นสำหรับไคลเอ็นต์ REST แต่เราไม่บังคับให้ชื่อนี้มีลักษณะเฉพาะ เพื่อเป็นการอำนวยความสะดวกสำหรับนักพัฒนาซอฟต์แวร์คนอื่นๆ ที่ต้องการระบุว่า REST ใดเป็นการสร้างแอปพลิเคชันหรือแหล่งข้อมูล | |
bucket[].session.activityType |
integer |
ประเภทของกิจกรรมที่เซสชันนี้แสดง | |
bucket[].session.activeTimeMillis |
long |
เวลาที่ใช้งานเซสชัน แม้ start_time_millis และ end_time_millis จะกำหนดเวลาเซสชันเต็ม เวลาที่แอ็กทีฟจะสั้นลงและระบุด้วย active_time_millis หากทราบเวลาที่ไม่มีการใช้งานระหว่างเซสชัน ควรแทรกค่าดังกล่าวผ่านจุดข้อมูล com.google.activity.segment ที่มีค่ากิจกรรม STILL |
|
bucket[].activity |
integer |
ใช้ได้กับ Bucket.Type.ACTIVITY_TYPE, Bucket.Type.ACTIVITY_SEGMENT |
ลองใช้งาน
ใช้ API Explorer ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลแบบสดและดูการตอบกลับ