You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

集成Google Fit API时如何获取登录用户邮箱及用户ID?

解决Google Fit API中获取用户信息及参数的问题

首先得明确一点:Google Fit API本身并不直接返回用户的邮箱或基础身份信息——Fit API的核心是处理健身数据,用户身份相关的信息需要借助Google的身份验证体系来获取,而不是通过Fit的接口。下面分两部分帮你解决问题:

一、获取登录用户的邮箱和用户ID

你不需要通过Fit API来拿这些信息,而是要从OAuth 2.0的授权流程里获取:

  • 在用户完成OAuth授权后,你的回调接口会收到一个ID Token,解码这个Token就能直接拿到用户的邮箱、用户ID(对应Token里的sub字段)等基础信息,完全不用额外调用API。
  • 如果需要更详细的用户资料,可以调用Google People API的people.get接口,参数直接用people/me指代当前授权的用户,就能获取包括邮箱在内的身份数据。注意要确保你发起OAuth请求时,已经申请了email和profile这类必要的权限范围(scope)。

二、获取userId和dataSourceId参数

针对你提到的users/dataSources/get接口,这两个参数的获取其实很简单:

  • userId:对于当前已授权的用户,你完全不需要手动获取具体的ID,直接用字符串"me"代替就行——Google的绝大多数API都支持用me来指代当前登录并授权的用户,Fit API也遵循这个规则。
  • dataSourceId:这个参数对应具体的数据源(比如用户的手机、智能手表,或者某个健身应用)。如果你不知道具体的ID,可以先调用users/dataSources/list接口,同样用me作为userId参数,接口会返回当前用户关联的所有数据源,每个数据源对象里都会包含dataSourceId,你可以从中挑选需要的ID来调用get接口。

举个简单的请求示例(用me作为userId):

GET https://www.googleapis.com/fitness/v1/users/me/dataSources

这个请求会返回当前用户的所有数据源列表,你就能从中提取出需要的dataSourceId了。

最后要提醒的是,确保你的OAuth授权范围包含了Fit API相关的权限(比如https://www.googleapis.com/auth/fitness.activity.read),否则会出现权限不足的错误。

内容的提问来源于stack exchange,提问作者Malvi Panchal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:23:50