Google Fit位置数据类型产生403权限被拒绝

问题描述 投票:0回答:1

在我的应用中,我使用“聚合”功能从Google Fit数据集中请求数据。这适用于心率,速度,距离等,但这对位置数据停止工作(但之前一直在工作)。

这是我正在使用的请求模板:

POST https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate

{
 "aggregateBy": [
   {
     "dataTypeName": "com.google.location.sample"
   }
 ],
 "endTimeMillis": xxxx,
 "startTimeMillis": xxxx
}

对于dataTypeName ==“com.google.location.sample”,请求返回:

403

- Show headers -

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "No permission to read data for this private data source."
   }
  ],
  "code": 403,
  "message": "No permission to read data for this private data source."
 } 
}

为什么位置数据是私有的? Google API方面是否有变更?是否有不同的方式来请求位置数据?

这些是我的应用程序授权的范围:

 "https://www.googleapis.com/auth/fitness.activity.read",
 "https://www.googleapis.com/auth/fitness.body.read",
 "https://www.googleapis.com/auth/fitness.location.read",
 "https://www.googleapis.com/auth/fitness.nutrition.read"

请注意,该列表包含“fitness.location.read”。

谢谢你的建议。

google-fit
1个回答
0
投票

我也尝试从Google Fit获取数据但是“步骤”,有时也会获得状态403的响应

请求:

POST https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate

$headers = [
    'Authorization' => 'Bearer ' . $access_token,
    'Content-Type' => 'application/json',
];

$body = [
    "aggregateBy" => [
        [
            "dataTypeName" => "com.google.step_count.delta",
            "dataSourceId" => 
"derived:com.google.step_count.delta:com.google.android.gms:estimated_steps"
        ],
        [
            "dataTypeName" => "com.google.distance.delta",
            "dataSourceId" => 
"derived:com.google.distance.delta:com.google.android.gms:merge_distance_delta"
        ]
    ],
    "bucketByTime" => ["durationMillis" => xxxx],
    "startTimeMillis" => xxxx,
    "endTimeMillis" => xxxx
];

响应:

"error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "datasource not found (truncated...)

POST https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate` resulted in a `403 Forbidden` response:

决议:

您可以在此处看到错误403的所有描述:https://developers.google.com/analytics/devguides/reporting/core/v3/errors

要解决此问题,您可以尝试执行此算法:https://developers.google.com/analytics/devguides/reporting/core/v3/errors#backoff或您的用户应具有足够的权限(403“不足的权限”)

© www.soinside.com 2019 - 2024. All rights reserved.