问题描述
已成功获取“ OAuth 2.0客户端ID”,但未验证“ OAuth同意Scree”
fitnessOptions fitnessOptions = fitnessOptions.builder()
.addDataType(HealthDataTypes.TYPE_BLOOD_gluCOSE,fitnessOptions.ACCESS_WRITE)
.addDataType(HealthDataTypes.TYPE_BLOOD_gluCOSE,fitnessOptions.ACCESS_READ)
.build();
DataSource mDataSource = new DataSource.Builder()
.setStreamName("test")
.setAppPackageName(context)
.setDataType(HealthDataTypes.TYPE_BLOOD_gluCOSE)
.setType(DataSource.TYPE_DERIVED)
.build();
DataPoint bloodglucose = DataPoint.builder(mDataSource)
.setField(HealthFields.FIELD_BLOOD_gluCOSE_LEVEL,15)
.setTimestamp(Now.getTimeMillis(),TimeUnit.MILLISECONDS)
.build();
DataSet dataSet = DataSet.builder(mDataSource)
.add(dataPoint)
.build();
Task<Void> response = fitness
.getHistoryClient(context,GoogleSignIn.getAccountForExtension(context,fitnessOptions))
.insertData(dataSet);
我已通过GoogleSignIn权限,并且在插入数据时发生了异常( com.google.android.gms.common.api.ApiException:5024 )
请参阅:[https://developers.google.com/fit/scenarios/write-blood-glucose-data] 不允许用户写血糖信息了吗?或我的代码有问题。
如果您能根据您的丰富经验给我们一些建议,我将不胜感激。
解决方法
可能有点晚了,但如果其他人遇到这种情况,以下内容可能会有所帮助。
来自 Google 健身文档:
Google 健身具有用于与管理相关的测量的健康数据类型 一般健康(与健身相反)。因为健康数据可以 敏感,这些数据类型具有敏感范围。这意味着你需要 为敏感范围申请 OAuth API 验证 Android 和 REST 的标准授权权限来读取和 写入这些数据类型。
Google 将审核您的申请并批准或拒绝验证。 用户将审查范围请求并授予或拒绝访问 这些。
注意:Google 已暂时停止接受写入健康数据类型的新请求。我们正在更新我们的政策和流程 审查请求,并会在我们再次更新此文档时 简历。
截至 2021 年 6 月 1 日。