authStatusPermissionsSync(params: Object)

Requires:
HealthKit≥5.18.3@ray-js/ray≥1.6.17
Platforms:
iOS

Description

Check whether the user has granted read and write permissions for Quantity data types [iOS only]

Parameters

PropertyTypeRequiredDescriptionHealthKit Since
permissionsstring[]NoPermission types (used by the API for requesting read/write permissions). See the enum list below for specific values e.g. ["1","2"]v5.18.0
readPermissionsstring[]NoRead permission types (used by APIs that check whether the user has already authorized). See the enum list below for specific values e.g. ["1","2"]v5.18.0
writePermissionsstring[]NoWrite permission types (used by APIs that check whether the user has already authorized). See the enum list below for specific values e.g. ["1","2"]v5.18.0
writePermissionnumberNoWrite permission types (used by APIs that check whether write permission is granted). See the enum list below for specific valuesv5.18.0
valuenumberNoValue to write (the specific measurement for data of type Quantity or Category)v5.18.0
unitTypestringNoUnit to pass in, e.g., "mg/dL", "g", "cm", "count"; required when querying or writing Quantity-type data For unit mappings by data type, refer to Apple's official HKTypeIdentifiers.h filev5.18.0
startTimenumberNoStart time, timestamp in secondsv5.18.0
endTimenumberNoEnd time, timestamp in secondsv5.18.0
typenumberNoData types to read/write (used by data read/write APIs). See the enum list below for specific valuesv5.18.0

Return Value

Type: Object↓
PropertyTypeDescriptionHealthKit Since
valuenumberAuthorization status: 1 means all passed-in types have requested the corresponding read/write permissions; 0 means at least one has not been requestedv5.18.4

Error Code

Error CodeError Message
1AppleHealthParamsError

Examples

Query HealthKit read/write authorization status

import { health } from '@ray-js/ray'

const endTime = Math.floor(Date.now() / 1000);
const startTime = endTime - 60 * 60;

health.authStatusPermissions({
  permissions: ["4"],
  readPermissions: ["4"],
  writePermissions: ["4"],
  writePermission: 4,
  value: 65.5,
  unitType: "kg",
  startTime,
  endTime,
  type: 4,
  success: data => {
    console.log(data);
  },
  fail: error => {
    console.error(error);
  },
});