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

Flutter应用集成Google Fit获取步数、卡路里的授权问题咨询

Flutter Health包Google Fit授权失败解决方案

完整Google Fit API授权配置流程(Android端)

  • Google Cloud控制台配置检查
    • 确认创建的OAuth客户端ID为Android类型,填写的包名与android/app/build.gradle中的applicationId完全一致,填写的SHA-1指纹与当前打包所用签名文件的指纹一致,debug和release版本需要分别配置对应签名的SHA-1
    • 必须在Google Cloud控制台的「API和服务」→「启用API和服务」页面搜索启用Fitness API,缺少这一步会直接导致授权失败
    • 若应用尚未完成OAuth同意屏幕审核发布,需要在OAuth同意屏幕页面将测试使用的Google账号添加到「测试用户」列表,未审核的应用仅名单内的账号可正常授权
  • 本地项目配置检查
    • 从Google Cloud控制台下载的google-services.json文件必须放置在android/app目录下,不可放错路径
    • 项目级android/build.gradle文件中要确认添加Google服务依赖:
      classpath 'com.google.gms:google-services:4.3.15'
      
      版本可根据你的项目适配情况调整
    • app级android/app/build.gradle文件最底部要添加Google服务插件应用代码:
      apply plugin: 'com.google.gms.google-services'
      
    • AndroidManifest.xml中添加运动识别权限:
      <uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />
      <uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
      
  • Client ID补充说明
    你使用的3.x版本health包无需在代码或其他配置文件中手动填写Client ID,只要google-services.json配置正确,Google服务插件会自动读取相关配置。

代码修正建议

你当前使用的示例代码有两处可调整:

  1. 无需单独使用permission_handler包申请权限,health包内部会自动处理权限和OAuth申请逻辑,重复申请可能导致权限状态冲突
  2. 调用requestAuthorization方法时建议明确指定读取权限,修改对应代码如下:
bool accessWasGranted = await health.requestAuthorization(types, permissions: [
  HealthDataAccess.READ,
  HealthDataAccess.READ,
  HealthDataAccess.READ,
  HealthDataAccess.READ,
  HealthDataAccess.READ,
]);

排障技巧

  • 授权失败后先卸载应用重装,清除本地缓存的权限状态
  • 确认测试手机安装了Google Fit应用,且测试用Google账号已登录Google Fit并同步过步数、卡路里等对应数据
  • 确认测试设备的Google Play服务已更新到最新版本,旧版本服务可能导致OAuth授权流程异常

iOS端补充配置(适配iOS时需要)

  • 在Info.plist中添加健康数据读写权限描述:
    <key>NSHealthShareUsageDescription</key>
    <string>需要权限同步运动数据</string>
    <key>NSHealthUpdateUsageDescription</key>
    <string>需要权限读取运动数据</string>
    
  • 在Xcode项目的Signing & Capabilities中添加HealthKit能力。

内容的提问来源于stack exchange,提问作者Dipak Pd.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:48:02