รวบรวมข้อมูลบางประเภทหรือสตรีมไปยังที่เก็บข้อมูลหารด้วยประเภทขอบเขตที่กําหนด ชุดข้อมูลหลายชุดหลายประเภทและจากแหล่งที่มาหลายแห่งสามารถรวมกันเป็นที่เก็บข้อมูลประเภทเดียวต่อคําขอได้ ลองใช้เลย
ส่งคำขอ
คำขอ 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 |
ข้อกําหนดในการจัดทําข้อมูลรวม ต้องระบุข้อมูลจําเพาะAggregateBy อย่างน้อย 1 รายการ ระบบจะรวบรวมข้อมูลทั้งหมดที่ระบุโดยใช้เกณฑ์การจัดกลุ่มเดียวกัน โดยจะมีชุดข้อมูล 1 ชุดในการตอบกลับของข้อมูลจําเพาะโดยรวมทั้งหมด | |
aggregateBy[].dataTypeName |
string |
ประเภทข้อมูลที่จะรวม แหล่งข้อมูลทั้งหมดที่ระบุข้อมูลประเภทนี้จะให้ข้อมูลรวม การตอบกลับจะมีชุดข้อมูลเดียวสําหรับชื่อประเภทข้อมูลนี้ โดยชุดข้อมูลจะมีรหัสแหล่งข้อมูลเป็น | |
aggregateBy[].dataSourceId |
string |
รหัสแหล่งข้อมูลสําหรับรวบรวม ระบบจะรวมข้อมูลจากรหัสแหล่งข้อมูลที่ระบุเท่านั้นในการรวม ต้องระบุแหล่งข้อมูลนี้ หากระบุไว้ ขอบเขต OAuth ในข้อมูลรับรองที่ระบุจะต้องให้สิทธิ์การอ่านประเภทนี้ ชุดข้อมูลในการตอบสนองจะมีรหัสแหล่งข้อมูลเดียวกัน หมายเหตุ: ข้อมูลสามารถรวมกับ dataTypeName หรือ dataSourceId อย่างใดอย่างหนึ่งไม่ได้ | |
filteredDataQualityStandard[] |
list |
อย่าป้อนข้อมูลในช่องนี้ ระบบจะไม่สนใจข้อความนี้ | |
bucketByTime |
nested object |
ระบุให้รวบรวมข้อมูลตามช่วงเวลาเดียว ไม่รวมข้อกําหนดที่เก็บข้อมูลอื่นๆ | |
bucketByTime.durationMillis |
long |
ระบุที่เก็บข้อมูลผลลัพธ์ที่รวมข้อมูลตามกรอบเวลาของ MilMis ทั้งหมด กรอบเวลาที่ไม่มีข้อมูลจะรวมอยู่ในการตอบกลับที่มีชุดข้อมูลที่ว่างเปล่า | |
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 |
ระบุว่าจะมีการรวมข้อมูลแต่ละกลุ่มของกิจกรรมที่บันทึกไว้สําหรับผู้ใช้ คล้ายกับที่เก็บข้อมูล ByByActivitySegment แต่จะพิจารณากลุ่มกิจกรรมแต่ละกลุ่มแทนกลุ่มทั้งหมดในประเภทเดียวกัน ไม่รวมข้อกําหนดที่เก็บข้อมูลอื่นๆ | |
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 จะมีหมายเลขโปรเจ็กต์นักพัฒนาซอฟต์แวร์ของตนแสดงอยู่ในรหัสสตรีมข้อมูลแหล่งข้อมูล แทนที่จะเป็น packageName | |
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.groups ที่มีค่ากิจกรรมว่าง |
|
bucket[].activity |
integer |
ใช้ได้กับ Bucket.Type.activity_TYPE, Bucket.Type.activity_GROUP |
ลองใช้เลย
ใช้ API Explorer ด้านล่างเพื่อเรียกใช้เมธอดนี้กับข้อมูลสดและดูคําตอบ