3. 睡眠情況細節——Sleeps
Jawbone 最吸引我的功能之一,就是能夠記錄睡眠情況。除了前面介紹的 user/%userXid%/social 等用戶行爲概述 API 之外,與睡眠相關的 API 還有以下幾個:
user/%userXid%/sleeps
sleeps/%evtXid%
sleeps/%evtXid%/snapshot
從 user/%userXid%/social 結果中的 "data"."feed"."xid"; 從 user/%userXid%/sleeps 結果中的 "data"."items"."xid" 獲得 %evtXid% , 用於調用 sleeps/%evtXid% 和 sleeps/%evtXid%/snapshot 。
user/%userXid%/sleeps
這個 API 能夠返回個人的睡眠概括數據列表。在Jawbone UP 的手機應用界面中並沒有對應的界面輸出。
Request:
GET
https://jawbone.com/nudge/api/users/@me/sleeps?start_time=1370707200&end_time=1370966399&limit=100
https://jawbone.com/nudge/api/users/RGaCBFg9CsDYVvm2kchbcw/sleeps?start_time=1370707200&end_time=1370966399&limit=100
Params:
'start_time' : startTime, #start_time爲 long 型時間,即從1970年以來的秒數,可以不填
'end_time' : endTime, #end_time爲 long 型時間,即從1970年以來的秒數,可以不填
'limit' : limit #最多返回結果條數限制
Return :
{
"meta": {
"code": 200,
"message": "OK",
"user_xid": "RGaCBFg9CsDYVvm2kchbcw",
"time": 1371960979
},
"data": {
"items": [
{
"time_updated": 1370730602,
"xid": "EJpCkyAtwoPx-NDQaWEnSw",
"band_ids": [
"23424880A48CD061"
],
"title": "7 \u5c0f\u65f6 55 \u5206\u949f",
"type": "sleep",
"time_created": 1370699857,
"sub_type": 0,
"date": 20130609,
"app_generated": false,
"time_completed": 1370730588,
"details": {
"body": 0,
"smart_alarm_fire": 0,
"awakenings": 2,
"light": 12406,
"mind": 0,
"asleep_time": 1370700119,
"deep": 16136,
"awake": 2189,
"duration": 30731,
"tz": "Asia/Shanghai",
"quality": 99,
"awake_time": 1370729557
},
"is_manual": false,
"shared": false,
"snapshot_image": "/nudge/image/e/1370730602/EJpCkyAtwoPx-NDQaWEnSw.png",
"networks": [],
"user": {
"xid": "RGaCBFg9CsDYVvm2kchbcw",
"name": "Tester VisHealth",
"short_name": "Tester",
"image": "user/image/i/51b4916b03eb185d1c1948a5_RGaCBFg9CsDYVvm2kchbcw_137078820345_2781804_photo.jpeg",
"last": "VisHealth",
"type": "user",
"first": "Tester"
}
},
{
"time_completed": 1370812786,
"xid": "EJpCkyAtwoNhHfcKmXhLDQ",
"band_ids": [
"23424880A48CD061"
],
"title": "6 \u5c0f\u65f6 40 \u5206\u949f",
"type": "sleep",
"time_created": 1370787934,
"networks": [],
"is_manual": false,
"app_generated": false,
"time_updated": 1370812792,
"user": {
"xid": "RGaCBFg9CsDYVvm2kchbcw",
"name": "Tester VisHealth",
"short_name": "Tester",
"image": "user/image/i/51b4916b03eb185d1c1948a5_RGaCBFg9CsDYVvm2kchbcw_137078820345_2781804_photo.jpeg",
"last": "VisHealth",
"type": "user",
"first": "Tester"
},
"date": 20130610,
"shared": false,
"snapshot_image": "/nudge/image/e/1370812792/EJpCkyAtwoNhHfcKmXhLDQ.png",
"sub_type": 0,
"details": {
"body": 0,
"smart_alarm_fire": 0,
"awakenings": 0,
"light": 13966,
"mind": 0,
"asleep_time": 1370788739,
"deep": 10080,
"awake": 806,
"duration": 24852,
"tz": "Asia/Shanghai",
"quality": 78,
"awake_time": 1370812534
}
},
{
"time_updated": 1370957154,
"xid": "EJpCkyAtwoPgu7Y5xcoEUw",
"band_ids": [
"23424880A48CD061"
],
"title": "4 \u5c0f\u65f6 23 \u5206\u949f",
"type": "sleep",
"time_created": 1370880162,
"sub_type": 0,
"is_manual": false,
"app_generated": false,
"time_completed": 1370898180,
"details": {
"body": 0,
"smart_alarm_fire": 0,
"awakenings": 2,
"light": 11393,
"mind": 0,
"asleep_time": 1370881499,
"deep": 4408,
"awake": 2217,
"duration": 18018,
"tz": "Asia/Shanghai",
"quality": 46,
"awake_time": 1370898162
},
"date": 20130611,
"shared": false,
"snapshot_image": "/nudge/image/e/1370957154/EJpCkyAtwoPgu7Y5xcoEUw.png",
"networks": [],
"user": {
"xid": "RGaCBFg9CsDYVvm2kchbcw",
"name": "Tester VisHealth",
"short_name": "Tester",
"image": "user/image/i/51b4916b03eb185d1c1948a5_RGaCBFg9CsDYVvm2kchbcw_137078820345_2781804_photo.jpeg",
"last": "VisHealth",
"type": "user",
"first": "Tester"
}
},
{
"time_completed": 1370908500,
"xid": "EJpCkyAtwoMIuTGkAPvdTw",
"band_ids": [
"23424880A48CD061"
],
"title": "1 \u5c0f\u65f6 7 \u5206\u949f",
"type": "sleep",
"time_created": 1370902821,
"networks": [],
"is_manual": false,
"app_generated": false,
"time_updated": 1370957155,
"details": {
"body": 0,
"smart_alarm_fire": 0,
"awakenings": 0,
"light": 1680,
"mind": 0,
"asleep_time": 1370903099,
"deep": 2340,
"awake": 1659,
"duration": 5679,
"tz": "Asia/Shanghai",
"quality": 12,
"awake_time": 1370907021
},
"date": 20130611,
"shared": false,
"snapshot_image": "/nudge/image/e/1370957155/EJpCkyAtwoMIuTGkAPvdTw.png",
"sub_type": 2,
"user": {
"xid": "RGaCBFg9CsDYVvm2kchbcw",
"name": "Tester VisHealth",
"short_name": "Tester",
"image": "user/image/i/51b4916b03eb185d1c1948a5_RGaCBFg9CsDYVvm2kchbcw_137078820345_2781804_photo.jpeg",
"last": "VisHealth",
"type": "user",
"first": "Tester"
}
}
],
"size": 4
}
}
sleeps/%evtXid%
從 user/%userXid%/social 結果中的 "data"."feed"."xid"; 從 user/%userXid%/sleeps 結果中的 "data"."items"."xid" 獲得 %evtXid% , 用於調用 sleeps/%evtXid% 。
Request:
GET
https://jawbone.com/nudge/api/sleeps/EJpCkyAtwoOBmMCiBEugow
Params:
無
Return :
{
"meta": {
"code": 200,
"message": "OK",
"user_xid": "RGaCBFg9CsDYVvm2kchbcw",
"time": 1371960968
},
"data": {
"time_updated": 1370995674,
"xid": "EJpCkyAtwoOBmMCiBEugow",
"band_ids": [
"23424880A48CD061"
],
"title": "9 \u5c0f\u65f6 55 \u5206\u949f",
"type": "sleep",
"user": {
"xid": "RGaCBFg9CsDYVvm2kchbcw",
"name": "Tester VisHealth",
"short_name": "Tester",
"image": "user/image/i/51b4916b03eb185d1c1948a5_RGaCBFg9CsDYVvm2kchbcw_137078820345_2781804_photo.jpeg",
"last": "VisHealth",
"type": "user",
"first": "Tester"
},
"comments": {
"items": [],
"size": 0
},
"sub_type": 0,
"is_manual": false,
"app_generated": false,
"time_completed": 1370995140,
"emotions": {
"items": [],
"size": 0
},
"time_created": 1370958101,
"date": 20130612,
"shared": false,
"snapshot_image": "/nudge/image/e/1370995674/EJpCkyAtwoOBmMCiBEugow.png",
"networks": [],
"goals": {
"total": 27000,
"bedtime": null,
"deep": null
},
"details": {
"body": 0,
"smart_alarm_fire": 1370988000,
"awakenings": 1,
"light": 20652,
"mind": 0,
"asleep_time": 1370958959,
"deep": 15093,
"awake": 1294,
"duration": 37039,
"tz": "Asia/Shanghai",
"quality": 100,
"awake_time": 1370995001
}
}
}
sleeps/%evtXid%/snapshot
從 user/%userXid%/social 結果中的 "data"."feed"."xid"; 從 user/%userXid%/sleeps 結果中的 "data"."items"."xid" 獲得 %evtXid% , 用於調用 sleeps/%evtXid%/snapshot 。
Request:
GET
https://jawbone.com/nudge/api/sleeps/EJpCkyAtwoOBmMCiBEugow/snapshot
Params:
無
Return :
睡眠詳情爲記錄不同睡眠狀態的開始時間。時間序列中的 1 = awake, 2 = light , 3 = deep。
{
"meta": {
"code": 200,
"message": "OK",
"user_xid": "RGaCBFg9CsDYVvm2kchbcw",
"time": 1371960969
},
"data": [
[
1370958101,
1
],
[
1370959001,
2
],
[
1370959901,
3
],
[
1370962001,
2
],
[
1370966201,
3
],
[
1370967101,
2
],
[
1370968301,
3
],
[
1370969201,
2
],
[
1370971601,
3
],
[
1370972501,
2
],
[
1370973701,
3
],
[
1370974301,
2
],
[
1370975501,
3
],
[
1370976701,
2
],
[
1370979701,
3
],
[
1370981501,
2
],
[
1370983901,
3
],
[
1370985401,
2
],
[
1370986601,
3
],
[
1370987501,
2
],
[
1370987801,
1
],
[
1370988401,
2
],
[
1370989601,
3
],
[
1370992001,
2
],
[
1370993201,
3
],
[
1370994701,
2
],
[
1370995001,
1
]
]
}