部分用户没有数据源,但在 Google 个健身应用中有数据

Some users have no data sources but have data in Google Fit app

我的团队发布了一个应用程序,该应用程序使用 REST API 检索用户的 Google 健身数据,以显示他们的活跃程度并对他们的健身水平进行评分。我对步骤和 active_minutes 指标感兴趣。

大约 50% 的用户没有数据源或数据源有限。其中一些用户在我的团队中,我已确认他们已接受所需的范围,并且 Fit 应用程序确实在记录数据。

为了测试用户,我正在刷新他们的访问令牌(工作正常),然后调用此端点以检索可用数据源列表: 获取 fitness/v1/users/me/dataSources (https://developers.google.com/fit/rest/v1/reference/users/dataSources/list)

有时数据源是一个空数组,有时数据源的数量非常有限(例如涉及卡路里但不涉及步数的数据源,即使步数在健身中显示得很好)。

我请求以下范围: fitness.activity.read fitness.body.write

我们其他 50% 的用户工作得很好,我对那些似乎没有(或有限)数据源的用户有什么不同感到完全困惑。

我发现一些用户禁用了 Google Fit 的同步功能。要启用同步,您必须进入 Android phone:

的“设置”应用

设置 -> 帐户 -> Select 您的 Google 帐户用于 Google Fit -> 确保 Google Fit 已启用同步。

这回答了最令人费解的情况,即我们的用户有一些数据源,但不是所有预期的数据源,例如估计步数。我认为可用的有限数据源来自禁用同步之前的短时间段,或者用户使用 Google Fit 的过时版本。我还发现用户有更明显的问题,比如使用 OAuth 时使用的 Google 帐户与连接到 Google Fit 的帐户不同。