authQuantityWritePermissions(params: Object)

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

const { authQuantityWritePermissions } = health;

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

Description

Request write permission for Quantity data types [iOS only]

Parameters

PropertyTypeRequiredDescription
permissionsstring[]NoPermission types (used by the API for requesting read/write permissions); see the enum list below for values, e.g., ["1","2"]
readPermissionsstring[]NoRead permission types (used by the API that checks whether the user has already authorized); see the enum list below for values, e.g., ["1","2"]
writePermissionsstring[]NoWrite permission types (used by the API that checks whether the user has already authorized); see the enum list below for values, e.g., ["1","2"]
writePermissionnumberNoWrite permission types (used by the API that checks whether write permission is granted); see the enum list below for values
valuenumberNoValue to write (the specific measurement for Quantity or Category data types)
unitTypestringNoUnit to pass in, e.g., "mg/dL", "g", "cm", "count"; required when querying and writing Quantity-type data Refer to Apple's official HKTypeIdentifiers.h file for the unit corresponding to each data type
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() => voidNoCallback on successful API call
fail(params: Object) => voidNoFailure callback
fail callback parameters
PropertyTypeDescription
errorMsgstringError message
errorCodestring | numberError code
Error extension

Return Value

None

Error Code

Error CodeError Message
1AppleHealthParamsError

Examples

Request write permission for weight data

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

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

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