问题标签 [google-fit-api]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
236 浏览

android - `DataType.TYPE_HEART_RATE_BPM` 没有数据源,即使手表已连接

我有一个可穿戴设备,其中 Google Fit 与我的手机相同的帐户连接。wearOS 设备也连接到我的手机。

但是,以下代码不返回与数据点对应的数据源DataType.TYPE_HEIGHT, DataType.TYPE_HEART_RATE_BPM, DataType.TYPE_HEART_POINTS, DataType.TYPE_STEP_COUNT_DELTA

我确实得到了DataType.TYPE_LOCATION_SAMPLE我的手机的数据源。

我的 wearOS 设备是Fossil Gen 5 Carlyle

我在这里做错了什么?

0 投票
1 回答
193 浏览

google-oauth - 在 Google Fit REST API 中为 com.google.blood_pressure 创建数据源时出现 403 错误

目标:

我有一个简单的 Web 应用程序,我可以在其中提交我的血压和心率测量值。现在我想将这些测量结果提交到我的 Google Fit 帐户。

我试过谷歌教程:https ://developers.google.com/fit/scenarios/write-bp-data

OAuth2 设置

我在现有的 Cloud Console 项目之一中创建了新凭据。然后使用以下范围请求新的授权码(该项目处于测试状态,我的帐户已注册为测试员):

请求令牌会返回以下响应:

如您所见,两个写入范围都被授予。此外,如果我检查我的 Google 帐户中的权限,则会设置两个范围。

创建数据源

现在我创建了两个数据源(一个用于 com.google.heart_rate.bpm,一个用于 com.google.blood_pressure)。创建心率数据源按预期工作,但创建血压数据源返回403 PERMISSION_DENIED错误:

请求(发布https://www.googleapis.com/fitness/v1/users/me/dataSources

回复

Google Fit REST API 告诉我缺少 Scope Fitness.blood_pressure.write,但正如您所见,为使用的访问令牌提供了 Scope。

笔记

  • 我正在与 Postman 一起测试所有请求。稍后将使用 Java/Groovy 或 PHP 后端。
  • 我还尝试了两种数据类型的读写范围。
  • 我可以在“连接的应用程序”下的 Google Fit 中看到我的应用程序具有两个写入范围。
0 投票
1 回答
473 浏览

java - 与 Android 应用 Google-Fit 同步权限

我正在使用 android studio 创建一个应用程序,并且我正在使用 Google Fit 应用程序来同步这两者以通过 Mi-Fit 获得一些测量结果。问题是我的手机没有弹出获取权限窗口,我不知道为什么。这是我的权限类:

我得到的第一个屏幕是选择谷歌帐户: 弹出这个画面 总是然后我想得到这个屏幕,但我几乎从不这样做: 几乎从不弹出

然后弹出批准位置的最终屏幕: 来自手机的权限总是弹出

无法弄清楚为什么第二个屏幕没有显示,我必须获得这些权限才能管理 google-fit 收集的数据的使用

谢谢。

0 投票
2 回答
831 浏览

android - 尝试访问 Google Fit API 时出现异常 - 用户必须登录才能进行此 API 调用

我正在尝试设置一个在 WearOS 上运行的可穿戴应用程序(用于华为手表 2),以向 Google Fit 帐户提供一种持续的心率 (BPM) 馈送,该帐户被读取到另一个智能手机应用程序中。

当我尝试设置帐户并访问数据时,问题就出现了,如下所示:

异常的堆栈跟踪:

我的手表与我用来读取数据的智能手机配对(我只需要从 google fit 获得更快的更新,并考虑强制执行此操作。此处没有代码)。存在相同的 google fit 帐户,登录到 Google Fit 应用程序并在两台设备上同步。一切都在智能手机上顺利运行(即使使用相同的代码),而在手表上,我在设置帐户时收到“用户必须登录”异常。

Google 服务依赖项、应用程序权限在两个设备上的设置方式相同,以及所需的 OAuth 设置、SHA1 和开发人员控制台上的凭据。

这可能是与手表-> 应用程序-> Google Fit 帐户同步相关的问题,还是我遗漏了什么?

0 投票
1 回答
143 浏览

google-fit - google fit Rest API 中位置的数据源

google fit rest API 中位置的数据源是什么?我无法找到任何位置数据源。我想从 google fit 应用程序访问该位置。有人知道我如何访问数据源 ID 以获取位置信息吗?

我使用以下获取请求来查找数据源列表。我找不到任何相关的 dataSourceID 位置。请建议做什么

0 投票
1 回答
796 浏览

flutter - Flutter - 健康包未加载 STEP 数据

我在我的颤振应用程序中使用了 health-3.0.3 来获取 Google fit 数据。我能够获得除 STEP 数据以外的所有数据,它总是显示为零。

你可以参考这里的健康包 Health 3.0.3 Flutter

这是在我的应用程序中访问 STEP 数据类型的代码块

您可以参考给定链接中示例选项卡下的完整代码。有谁知道这里有什么问题?

0 投票
1 回答
130 浏览

google-api - Google Rest API 和 google 登录

我已经成功地使用谷歌登录库创建了一个谷歌登录按钮,请求额外的范围,但是我无法弄清楚如何将其转换为 API 请求。我正在使用googleUser.getAuthResponse().id_token并获取令牌,但我不确定如何将其转换为访问令牌以与我的 API 请求一起发送?

我使用的几乎就是文档中的内容:

0 投票
1 回答
468 浏览

google-fit - Google Fit 估计通过 REST API 的步数会随着一些用户的时间减少

我们在拥有数千名用户的流程中使用 Googlefit REST API 来获取每日步数。对于大多数用户来说,过程是可以的,尽管我们发现一些用户具有这种特定行为:用户在白天步数增加,但在某些时候,他们会显着减少。

我们发现一些与此相关的问题主要与华为健康应用程序(以及一些小米健康应用程序)有关。

我们使用这个 dataSourceId 来获取每日步数:derived:com.google.step_count.delta:com.google.android.gms:estimated_steps

我们请求获取 3 月 15 日(西班牙时报)数据的示例之一:

对于大多数用户来说,这很顺利(它获得的数据与在 googlefit 应用程序中显示给用户的数据相同),但对于一些用户来说,一天中的数字首先增加,然后减少。googlefit 应用中的一些用户数据比通过 REST API 找到的数据要大得多(或显着多)。

我们甚至在白天对特定用户进行了跟踪。使用 'durationMillis': 3600000 的桶,我们绘制了一天内每小时步数的直方图(使用定制流程)。

在同一天,在不同的时间点(在这种情况下相差几个小时),我们为完全相同的用户得到了这个:

与这个相比,它在几个小时后被检索到:

(“20210315-14”是指 2021 年 3 月 15 日 14 点)

这是第一种情况下返回的 JSON:

这是后一种情况下返回的 JSON:

如您所见,所有点始终来自 originDataSourceId: "raw:com.google.step_count.delta:com.huawei.health"

看起来 Googlefit 的一个过程正在做某种调整,删除一些步骤或数据点,尽管我们无法找到检测什么和原因的方法,我们无法向用户解释正在发生的事情或他或我们可以做什么使他的应用数据与我们的完全一样(或相反)。他的 googlefit 应用程序显示的数字与 REST API 显示的数字不同。

用户已禁用“googlefit 应用跟踪活动”选项。

我很想知道,或尝试获得一些提示以了解:

  • 我能做些什么来调试更多?
  • 关于为什么会发生这种情况的任何提示?
  • 无论如何,从配置的角度(对于用户)来说,可以防止这种情况发生吗?
  • 无论如何,从发展的角度来看,是否可以防止这种情况发生?

谢谢并恭祝安康。

在安迪·特纳的问题之后更新(感谢您的评论!)。

我们能够在几个小时内“捕捉”到这一点:18.58(大约 6K 步)、21.58(大约 25K 步)、22.58(大约 17K 步)、23.58(大约 26K 步)。我们为这些导出了数据集,这是结果。

另一个重要信息:数据仅来自“raw:com.google.step_count.delta:com.huawei.health”。我们检查了其他可能看起来可疑的数据集,所有数据集都是空的(除了派生的等等)。

如果我们正确地解释这一点,可能是华为有时发送一个值,而下一次发送另一个东西;所以这可能是华为部分的一些错误配置。

以下是导出的数据集: https ://gist.github.com/jmarti-theinit/8d98996873a9c499a14899a9b62162f3

GIST的结果是:

所以我们的赌注是华为背后的设备会删除和添加积分(例如,在 18.58 - 22.58 中只有 57 是常见的),我们无法从 googlefit 方面控制更多。那是对的吗?我们还能看到什么?

0 投票
0 回答
21 浏览

cakephp - 将 Google 集成到 Cake PHP 框架中的问题

我已经使用 composer 成功地将 Google PHP 客户端安装到了供应商文件夹中。我能够获取步数和卡路里数据,但无法获取健康数据。是否有任何指南或解决方案可以描述使用 PHP 或 cake php 实现 Google fit?

0 投票
0 回答
96 浏览

google-fit - 超过 10000 的会话限制

从大约 2021-03-24 03:44:19.552 -07:00 开始,我们开始收到任何会话请求的以下错误——我试图缩短时间段,但无济于事。请指教:

https://www.googleapis.com/fitness/v1/users/me/sessions?startTime=2021-03-21T18:22:23.521Z&endTime=2021-03-21T19:22:23.521Z"aUser=id&prettyPrint=false