微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获得“消息”:“没有读取此私有数据源的数据的权限” TYPE_LOCATION_SAMPLE和TYPE_LOCATION_TRACK

如何解决获得“消息”:“没有读取此私有数据源的数据的权限” TYPE_LOCATION_SAMPLE和TYPE_LOCATION_TRACK

任何人都可以让我知道如何解决此问题,这是范围问题还是其他问题。 网址:https://www.googleapis.com/fitness/v1/users/me/dataset:aggregate

  "error": {
    "status": "PERMISSION_DENIED","message": "No permission to read data for this private data source.","code": 403,"errors": [
      {
        "reason": "forbidden","domain": "global"
      }
    ]
  }
}```

解决方法

您首先需要访问GPS,因此您应该将权限添加到您的manifest.xml文件中:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fitness.sync">

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
....

在代码中,您应按以下方式将权限传递给登录帐户:

public void signIn(){
    FitnessOptions fitnessOptions = FitnessOptions.builder()
            // add your read & write permissions here
            .addDataType(DataType.TYPE_LOCATION_SAMPLE,FitnessOptions.ACCESS_READ)
            .addDataType(DataType.TYPE_LOCATION_SAMPLE,FitnessOptions.ACCESS_WRITE)

            .addDataType(DataType.TYPE_LOCATION_TRACK,FitnessOptions.ACCESS_READ)
            .addDataType(DataType.TYPE_LOCATION_TRACK,FitnessOptions.ACCESS_WRITE)
             ...
            .build();

    GoogleSignInAccount account = GoogleSignIn.getAccountForExtension(this,fitnessOptions);

    if (!GoogleSignIn.hasPermissions(account,fitnessOptions)) {
        GoogleSignIn.requestPermissions(
                this,// your activity
                GOOGLE_FIT_PERMISSIONS_REQUEST_CODE,// e.g. 1
                account,fitnessOptions);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。