如何解决获得“消息”:“没有读取此私有数据源的数据的权限” 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 举报,一经查实,本站将立刻删除。