根据您发布的内容,问题出在您的参数meastype=meastype
上。如果您删除它,那么它应该运行良好。
假设您已按照程序获取访问令牌,您从 PowerShell 的调用将如下所示:
Invoke-RestMethod -Method 'Post' -Headers @{ "Authorization" = "Bearer XXXXXXXXXXXXXXXXXX" } -Body "action=getmeas&meastypes=11&category=1&startdate=1641168000&enddate=1641254399" -Uri 'https://wbsapi.withings.net/measure'
这将根据您在问题中链接到的文档返回一个 JSON 结构,例如
{
"status": 0,
"body": {
"updatetime": "string",
"timezone": "string",
"measuregrps": [
{
"grpid": 12,
"attrib": 1,
"date": 1594245600,
"created": 1594246600,
"category": 1594257200,
"deviceid": "892359876fd8805ac45bab078c4828692f0276b1",
"measures": [
{
"value": 65750,
"type": 1,
"unit": -3,
"algo": 3425,
"fm": 1,
"fw": 1000
}
],
"comment": "A measurement comment"
}
],
"more": 0,
"offset": 0
}
}
如果您的“measuregrps”为空(如下所示),则表示您选择的时间段内没有可用数据,因此您的设备未记录该参数或数据未同步到您的 Withings 帐户。
我运行它时得到的结果(我的设备没有记录 HR):
status body
------ ----
0 @{updatetime=1641470158; timezone=Europe/London; measuregrps=System.Object[]}
另一种选择是使用适用于 Linux 的 Windows 子系统来运行 curl 命令。你基本上得到了同样的东西:
curl --header "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXX" --data "action=getmeas&meastype=11&category=1&startdate=1609925332&enddate=1641461360" 'https://wbsapi.withings.net/measure'
给
{
"status":0,
"body":{
"updatetime":1641470640,
"timezone":"Europe\/London",
"measuregrps":[]
}
}