从 Google Fit 获取心率值时,PlatformException(FitKit, 5000: 应用程序需要用户的 OAuth 同意,null,null)

问题描述

我正在尝试使用以下代码从 Google Fit 获取心率数据:

void addBPM(List<FitData> results) {
    setState(() {
      results.where((data) => !data.userEntered).forEach((result) =>
      _heartBPM = result.value.round());
    });
  }

  void clearBPM() {
    setState(() {
      _heartBPM = 0;
    });
  }

  void revokePermissions() async {
    try {
      await FitKit.revokePermissions();
      permissions = await FitKit.hasPermissions(DataType.values);
      print('revokePermissions: success');
    } catch (e) {
      print('revokePermissions: $e');
    }
  }

  void read() async {
    try {
      permissions = await FitKit.requestPermissions(DataType.values);
      if (!permissions) {
        print('requestPermissions: Failed');
        setState(() {
          bodyHBPM = '0';
        });
      } else {
        if(await FitKit.requestPermissions(DataType.values)){
          final Now = DateTime.Now();
          final startOfDay = DateTime(Now.year,Now.month,Now.day);
          final results = await FitKit.read(
            DataType.HEART_RATE,dateFrom: startOfDay,dateto: Now,);
          startTimer();
          // print(results);
          clearBPM();
          addBPM(results);
        }

        print('readAll: success');
      }
    } catch (e) {
      print('readAll: $e');
    }
  }

一周前它成功了,直到我今天再次运行并出现此错误

readAll: PlatformException(FitKit,5000: Application needs OAuth consent from the user,null,null)

我错过了什么? OAuth 凭据是在 Google 控制台中创建的,自从我上次使用它以来就没有更改过。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)