1

成功获取“OAuth 2.0 Client ID”,但“OAuth同意屏幕”未通过验证

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] 不允许用户再写血糖信息了?或者我的代码可能有问题。

如果您能根据您丰富的经验给我们一些建议,我将不胜感激。

4

1 回答 1

2

可能有点晚了,但是如果其他人遇到这种情况,以下内容可能会有所帮助。

来自 Google Fit 文档:

Google Fit 具有用于与管理一般健康(而不是健身)相关的测量的健康数据类型。由于健康数据可能很敏感,因此这些数据类型具有敏感范围。这意味着您需要在 Android 和 REST 读取和写入这些数据类型的标准授权权限之上为敏感范围申请 OAuth API 验证。

Google 将审核您的申请并批准或拒绝验证。用户将审查范围请求并授予或拒绝对这些请求的访问。

注意:Google 已暂时停止接收写入健康数据类型的新请求。我们正在更新审核请求的政策和流程,并将在我们恢复时再次更新此文档。

截至 2021 年 6 月 1 日。

https://developers.google.com/fit/datatypes/health

于 2021-06-01T04:27:26.643 回答