getSaveQuantityPermission(params: Object)

Requires:
HealthKit≥5.18.3@ray-js/ray≥1.6.17
Platforms:
iOS
import { health } from '@ray-js/ray';

const { getSaveQuantityPermission } = health;

// Promise usage
try {
  const res = await getSaveQuantityPermission({ ...params });
  console.log(res);
} catch (err) {
  console.log(err.errorMsg);
}

Description

Check whether the user has write permission for the specified Quantity data type [iOS only]

Parameters

PropertyTypeRequiredDescription
permissionsstring[]NoPermission types (used by the API for requesting read/write permissions). See the enum list below for specific values e.g. ["1","2"]
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"]
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"]
writePermissionnumberNoWrite permission types (used by APIs that check whether write permission is granted). See the enum list below for specific values
valuenumberNoValue to write (the specific measurement for data of type Quantity or Category)
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 file
startTimenumberNoStart time, timestamp in seconds
endTimenumberNoEnd time, timestamp in seconds
typenumberNoData types to read/write (used by read/write APIs); see the enum list below for values
complete() => voidNoCompletion callback (executed on both success and failure)
success(params: Object) => voidNoCallback on successful API call
fail(params: Object) => voidNoFailure callback
success callback parameters
PropertyTypeDescriptionHealthKit Since
valuenumberWrite permission status: 1 - Has write permission; 0 - No write permissionv5.18.4
fail callback parameters
PropertyTypeDescription
errorMsgstringError message
errorCodestring | numberError code
Error extension

Return Value

None

Error Code

Error CodeError Message
1AppleHealthParamsError

Examples

Query write permission for weight data

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

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

health.getSaveQuantityPermission({
  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);
  },
});