1e41f4b71Sopenharmony_ci# @ohos.file.sendablePhotoAccessHelper (Album Management Based on a Sendable Object) (System API) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciThe **sendablePhotoAccessHelper** module provides APIs for album management, including creating an album and accessing and modifying media data in an album, based on a sendable object. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **NOTE** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> - The initial APIs of this module are supported since API version 12. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8e41f4b71Sopenharmony_ci> - This topic describes only the system APIs provided by the module. For details about its public APIs, see [@ohos.file.sendablePhotoAccessHelper (Album Management Based on a Sendable Object)](js-apis-sendablePhotoAccessHelper.md). 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci## Modules to Import 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci```ts 13e41f4b71Sopenharmony_ciimport { sendablePhotoAccessHelper } from '@kit.MediaLibraryKit'; 14e41f4b71Sopenharmony_ci``` 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci## PhotoAccessHelper 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci### createAsset 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_cicreateAsset(displayName: string): Promise<PhotoAsset> 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ciCreates an asset with the specified file name. This API uses a promise to return the result. 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ciThe file name must comply with the following specifications: 25e41f4b71Sopenharmony_ci- The file name consists of a valid file name and an image or video file name extension. 26e41f4b71Sopenharmony_ci- The file name cannot exceed 255 characters. 27e41f4b71Sopenharmony_ci- The file name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci**System API**: This is a system API. 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci**Parameters** 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 38e41f4b71Sopenharmony_ci| ----------- | ------ | ---- | -------------------------- | 39e41f4b71Sopenharmony_ci| displayName | string | Yes | File name of the asset to create. | 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci**Return value** 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci| Type | Description | 44e41f4b71Sopenharmony_ci| ---------------------------------------- | ----------------------------------------- | 45e41f4b71Sopenharmony_ci| Promise<[PhotoAsset](#photoasset)> | Promise used to return the created asset. | 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci**Error codes** 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci| ID| Error Message | 52e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ | 53e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 54e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 55e41f4b71Sopenharmony_ci| 201 | Permission denied. | 56e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 57e41f4b71Sopenharmony_ci| 14000001 | Invalid display name. | 58e41f4b71Sopenharmony_ci| 14000011 | Internal system error | 59e41f4b71Sopenharmony_ci 60e41f4b71Sopenharmony_ci**Example** 61e41f4b71Sopenharmony_ci 62e41f4b71Sopenharmony_ci```ts 63e41f4b71Sopenharmony_ciasync function example() { 64e41f4b71Sopenharmony_ci console.info('createAssetDemo'); 65e41f4b71Sopenharmony_ci try { 66e41f4b71Sopenharmony_ci let testFileName: string = 'testFile' + Date.now() + '.jpg'; 67e41f4b71Sopenharmony_ci let photoAsset: sendablePhotoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName); 68e41f4b71Sopenharmony_ci console.info('createAsset file displayName' + photoAsset.displayName); 69e41f4b71Sopenharmony_ci console.info('createAsset successfully'); 70e41f4b71Sopenharmony_ci } catch (err) { 71e41f4b71Sopenharmony_ci console.error(`createAsset failed, error: ${err.code}, ${err.message}`); 72e41f4b71Sopenharmony_ci } 73e41f4b71Sopenharmony_ci} 74e41f4b71Sopenharmony_ci``` 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci### createAsset 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_cicreateAsset(displayName: string, options: PhotoCreateOptions): Promise<PhotoAsset> 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ciCreates an asset with the specified file name and options. This API uses a promise to return the result. 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ciThe file name must comply with the following specifications: 83e41f4b71Sopenharmony_ci- The file name consists of a valid file name and an image or video file name extension. 84e41f4b71Sopenharmony_ci- The file name cannot exceed 255 characters. 85e41f4b71Sopenharmony_ci- The file name cannot contain any of the following characters:<br> . .. \ / : * ? " ' ` < > | { } [ ] 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci**System API**: This is a system API. 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.WRITE_IMAGEVIDEO 92e41f4b71Sopenharmony_ci 93e41f4b71Sopenharmony_ci**Parameters** 94e41f4b71Sopenharmony_ci 95e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 96e41f4b71Sopenharmony_ci| ----------- | ------------------------------------------------------------ | ---- | -------------------------- | 97e41f4b71Sopenharmony_ci| displayName | string | Yes | File name of the asset to create. | 98e41f4b71Sopenharmony_ci| options | [PhotoCreateOptions](js-apis-photoAccessHelper-sys.md#photocreateoptions) | Yes | Options for creating the asset. | 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci**Return value** 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci| Type | Description | 103e41f4b71Sopenharmony_ci| ---------------------------------------- | ----------------------------------------- | 104e41f4b71Sopenharmony_ci| Promise<[PhotoAsset](#photoasset)> | Promise used to return the created asset. | 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci**Error codes** 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci| ID| Error Message | 111e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ | 112e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 113e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 114e41f4b71Sopenharmony_ci| 201 | Permission denied. | 115e41f4b71Sopenharmony_ci| 13900020 | Invalid argument. | 116e41f4b71Sopenharmony_ci| 14000001 | Invalid display name. | 117e41f4b71Sopenharmony_ci| 14000011 | Internal system error | 118e41f4b71Sopenharmony_ci 119e41f4b71Sopenharmony_ci**Example** 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ci```ts 122e41f4b71Sopenharmony_ciasync function example() { 123e41f4b71Sopenharmony_ci console.info('createAssetDemo'); 124e41f4b71Sopenharmony_ci try { 125e41f4b71Sopenharmony_ci let testFileName:string = 'testFile' + Date.now() + '.jpg'; 126e41f4b71Sopenharmony_ci let createOption: photoAccessHelper.PhotoCreateOptions = { 127e41f4b71Sopenharmony_ci subtype: photoAccessHelper.PhotoSubtype.DEFAULT 128e41f4b71Sopenharmony_ci } 129e41f4b71Sopenharmony_ci let photoAsset: sendablePhotoAccessHelper.PhotoAsset = await phAccessHelper.createAsset(testFileName, createOption); 130e41f4b71Sopenharmony_ci console.info('createAsset file displayName' + photoAsset.displayName); 131e41f4b71Sopenharmony_ci console.info('createAsset successfully'); 132e41f4b71Sopenharmony_ci } catch (err) { 133e41f4b71Sopenharmony_ci console.error(`createAsset failed, error: ${err.code}, ${err.message}`); 134e41f4b71Sopenharmony_ci } 135e41f4b71Sopenharmony_ci} 136e41f4b71Sopenharmony_ci``` 137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci### getHiddenAlbums 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_cigetHiddenAlbums(mode: HiddenPhotosDisplayMode, options?: FetchOptions): Promise<FetchResult<Album>> 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ciObtains hidden albums based on the specified display mode and retrieval options. This API uses a promise to return the result. 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci**System API**: This is a system API. 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO and ohos.permission.MANAGE_PRIVATE_PHOTOS 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci**Parameters** 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 153e41f4b71Sopenharmony_ci| ------- | ------------------------------------------------------------ | ---- | ---------------------------------------------- | 154e41f4b71Sopenharmony_ci| mode | [HiddenPhotosDisplayMode](js-apis-photoAccessHelper-sys.md#hiddenphotosdisplaymode11) | Yes | Display mode of hidden albums. | 155e41f4b71Sopenharmony_ci| options | [FetchOptions](js-apis-photoAccessHelper.md#fetchoptions) | No | Options for retrieving the albums. If this parameter is not specified, the albums are retrieved based on the display mode. | 156e41f4b71Sopenharmony_ci 157e41f4b71Sopenharmony_ci**Return value** 158e41f4b71Sopenharmony_ci 159e41f4b71Sopenharmony_ci| Type | Description | 160e41f4b71Sopenharmony_ci| ------------------------------------------------------------ | ----------------------------------- | 161e41f4b71Sopenharmony_ci| Promise<[FetchResult](js-apis-photoAccessHelper.md#fetchresult)<[Album](#album)>> | Promise used to return the result.| 162e41f4b71Sopenharmony_ci 163e41f4b71Sopenharmony_ci**Error codes** 164e41f4b71Sopenharmony_ci 165e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 166e41f4b71Sopenharmony_ci 167e41f4b71Sopenharmony_ci| ID| Error Message | 168e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ | 169e41f4b71Sopenharmony_ci| 201 | Permission verification failed, usually the result returned by VerifyAccessToken. | 170e41f4b71Sopenharmony_ci| 202 | Permission verification failed, application which is not a system application uses system API. | 171e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 172e41f4b71Sopenharmony_ci| 14000011 | Internal system error | 173e41f4b71Sopenharmony_ci 174e41f4b71Sopenharmony_ci**Example** 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci```ts 177e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 178e41f4b71Sopenharmony_ciimport { BusinessError } from '@kit.BasicServicesKit'; 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_ci// Obtain the preset hidden album. 181e41f4b71Sopenharmony_ciasync function getSysHiddenAlbum() { 182e41f4b71Sopenharmony_ci console.info('getSysHiddenAlbumDemo'); 183e41f4b71Sopenharmony_ci phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ASSETS_MODE) 184e41f4b71Sopenharmony_ci .then( async (fetchResult) => { 185e41f4b71Sopenharmony_ci if (fetchResult === undefined) { 186e41f4b71Sopenharmony_ci console.error('getSysHiddenAlbumPromise fetchResult is undefined'); 187e41f4b71Sopenharmony_ci return; 188e41f4b71Sopenharmony_ci } 189e41f4b71Sopenharmony_ci let hiddenAlbum: sendablePhotoAccessHelper.Album = await fetchResult.getFirstObject(); 190e41f4b71Sopenharmony_ci console.info('getAlbumsPromise successfully, albumUri: ' + hiddenAlbum.albumUri); 191e41f4b71Sopenharmony_ci fetchResult.close(); 192e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 193e41f4b71Sopenharmony_ci console.error(`getSysHiddenAlbumPromise failed with err: ${err.code}, ${err.message}`); 194e41f4b71Sopenharmony_ci }); 195e41f4b71Sopenharmony_ci} 196e41f4b71Sopenharmony_ci 197e41f4b71Sopenharmony_ci// Obtain the hidden albums displayed by album, that is, the albums with hidden files. Such albums do not include the preset hidden album and the albums in the trash. 198e41f4b71Sopenharmony_ciasync function getHiddenAlbumsView() { 199e41f4b71Sopenharmony_ci console.info('getHiddenAlbumsViewDemo'); 200e41f4b71Sopenharmony_ci phAccessHelper.getHiddenAlbums(photoAccessHelper.HiddenPhotosDisplayMode.ALBUMS_MODE).then( async (fetchResult) => { 201e41f4b71Sopenharmony_ci if (fetchResult === undefined) { 202e41f4b71Sopenharmony_ci console.error('getHiddenAlbumsViewPromise fetchResult is undefined'); 203e41f4b71Sopenharmony_ci return; 204e41f4b71Sopenharmony_ci } 205e41f4b71Sopenharmony_ci let albums: Array<sendablePhotoAccessHelper.Album> = await fetchResult.getAllObjects(); 206e41f4b71Sopenharmony_ci console.info('getHiddenAlbumsViewPromise successfully, albums size: ' + albums.length); 207e41f4b71Sopenharmony_ci 208e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 209e41f4b71Sopenharmony_ci let fetchOption: photoAccessHelper.FetchOptions = { 210e41f4b71Sopenharmony_ci fetchColumns: [], 211e41f4b71Sopenharmony_ci predicates: predicates 212e41f4b71Sopenharmony_ci }; 213e41f4b71Sopenharmony_ci for (let i = 0; i < albums.length; i++) { 214e41f4b71Sopenharmony_ci // Obtain hidden files in the album. 215e41f4b71Sopenharmony_ci albums[i].getAssets(fetchOption).then((assetFetchResult) => { 216e41f4b71Sopenharmony_ci console.info('album get hidden assets successfully, getCount: ' + assetFetchResult.getCount()); 217e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 218e41f4b71Sopenharmony_ci console.error(`album get hidden assets failed with error: ${err.code}, ${err.message}`); 219e41f4b71Sopenharmony_ci }); 220e41f4b71Sopenharmony_ci } 221e41f4b71Sopenharmony_ci fetchResult.close(); 222e41f4b71Sopenharmony_ci }).catch((err: BusinessError) => { 223e41f4b71Sopenharmony_ci console.error(`getHiddenAlbumsViewPromise failed with err: ${err.code}, ${err.message}`); 224e41f4b71Sopenharmony_ci }); 225e41f4b71Sopenharmony_ci} 226e41f4b71Sopenharmony_ci``` 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci## PhotoAsset 229e41f4b71Sopenharmony_ci 230e41f4b71Sopenharmony_ciProvides APIs for encapsulating file asset attributes. 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ci### requestSource 233e41f4b71Sopenharmony_ci 234e41f4b71Sopenharmony_cirequestSource(): Promise<number> 235e41f4b71Sopenharmony_ci 236e41f4b71Sopenharmony_ciOpens the source file to obtain the file descriptor (FD). This API uses a promise to return the result. 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci**System API**: This is a system API. 239e41f4b71Sopenharmony_ci 240e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ_IMAGEVIDEO 241e41f4b71Sopenharmony_ci 242e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 243e41f4b71Sopenharmony_ci 244e41f4b71Sopenharmony_ci**Return value** 245e41f4b71Sopenharmony_ci 246e41f4b71Sopenharmony_ci| Type | Description | 247e41f4b71Sopenharmony_ci| --------------------- | --------------------------- | 248e41f4b71Sopenharmony_ci| Promise<number> | Promise used to return the FD obtained. | 249e41f4b71Sopenharmony_ci 250e41f4b71Sopenharmony_ci**Error codes** 251e41f4b71Sopenharmony_ci 252e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 253e41f4b71Sopenharmony_ci 254e41f4b71Sopenharmony_ci| ID| Error Message | 255e41f4b71Sopenharmony_ci| -------- | ------------------------------------------------------------ | 256e41f4b71Sopenharmony_ci| 201 | Permission denied. | 257e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 258e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types. | 259e41f4b71Sopenharmony_ci| 14000011 | Internal system error | 260e41f4b71Sopenharmony_ci 261e41f4b71Sopenharmony_ci**Example** 262e41f4b71Sopenharmony_ci 263e41f4b71Sopenharmony_ci```ts 264e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 265e41f4b71Sopenharmony_ci 266e41f4b71Sopenharmony_ciasync function example() { 267e41f4b71Sopenharmony_ci try { 268e41f4b71Sopenharmony_ci console.info('requsetSourcePromiseDemo') 269e41f4b71Sopenharmony_ci let predicates: dataSharePredicates.DataSharePredicates = new dataSharePredicates.DataSharePredicates(); 270e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 271e41f4b71Sopenharmony_ci fetchColumns: [], 272e41f4b71Sopenharmony_ci predicates: predicates 273e41f4b71Sopenharmony_ci }; 274e41f4b71Sopenharmony_ci let fetchResult: sendablePhotoAccessHelper.FetchResult<sendablePhotoAccessHelper.PhotoAsset> = await phAccessHelper.getAssets(fetchOptions); 275e41f4b71Sopenharmony_ci let photoAsset: sendablePhotoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 276e41f4b71Sopenharmony_ci let fd = await photoAsset.requestSource(); 277e41f4b71Sopenharmony_ci console.info('Source fd is ' + fd); 278e41f4b71Sopenharmony_ci } catch (err) { 279e41f4b71Sopenharmony_ci console.error(`requsetSourcePromiseDemo failed with error: ${err.code}, ${err.message}`); 280e41f4b71Sopenharmony_ci } 281e41f4b71Sopenharmony_ci} 282e41f4b71Sopenharmony_ci``` 283e41f4b71Sopenharmony_ci 284e41f4b71Sopenharmony_ci### getAnalysisData 285e41f4b71Sopenharmony_ci 286e41f4b71Sopenharmony_cigetAnalysisData(analysisType: AnalysisType): Promise\<string> 287e41f4b71Sopenharmony_ci 288e41f4b71Sopenharmony_ciObtains analysis data. This API uses a promise to return the result. 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci**System API**: This is a system API. 291e41f4b71Sopenharmony_ci 292e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.READ\_IMAGEVIDEO 293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 295e41f4b71Sopenharmony_ci 296e41f4b71Sopenharmony_ci**Parameters** 297e41f4b71Sopenharmony_ci 298e41f4b71Sopenharmony_ci| Name | Type | Mandatory| Description | 299e41f4b71Sopenharmony_ci| :----------- | :----------------------------------------------------------- | :--- | :----------------------- | 300e41f4b71Sopenharmony_ci| analysisType | [AnalysisType](js-apis-photoAccessHelper-sys.md#analysistype11) | Yes | Smart analysis type.| 301e41f4b71Sopenharmony_ci 302e41f4b71Sopenharmony_ci**Return value** 303e41f4b71Sopenharmony_ci 304e41f4b71Sopenharmony_ci| Type | Description | 305e41f4b71Sopenharmony_ci| :------------------ | :---------------------------------- | 306e41f4b71Sopenharmony_ci| Promise<void> | Promise used to return the analysis result obtained.| 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci**Error codes** 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ciFor details about the error codes, see [Universal Error Codes](../errorcode-universal.md) and [File Management Error Codes](../apis-core-file-kit/errorcode-filemanagement.md). 311e41f4b71Sopenharmony_ci 312e41f4b71Sopenharmony_ci| ID| Error Message | 313e41f4b71Sopenharmony_ci| :------- | :----------------------------------------------------------- | 314e41f4b71Sopenharmony_ci| 201 | Permission denied. | 315e41f4b71Sopenharmony_ci| 202 | Called by non-system application. | 316e41f4b71Sopenharmony_ci| 401 | Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed. | 317e41f4b71Sopenharmony_ci| 14000011 | Internal system error | 318e41f4b71Sopenharmony_ci 319e41f4b71Sopenharmony_ci**Example** 320e41f4b71Sopenharmony_ci 321e41f4b71Sopenharmony_ci```ts 322e41f4b71Sopenharmony_ciimport { dataSharePredicates } from '@kit.ArkData'; 323e41f4b71Sopenharmony_ci 324e41f4b71Sopenharmony_ciasync function example() { 325e41f4b71Sopenharmony_ci try { 326e41f4b71Sopenharmony_ci console.info('getAnalysisDataDemo') 327e41f4b71Sopenharmony_ci let fetchOptions: photoAccessHelper.FetchOptions = { 328e41f4b71Sopenharmony_ci fetchColumns: [], 329e41f4b71Sopenharmony_ci predicates: new dataSharePredicates.DataSharePredicates() 330e41f4b71Sopenharmony_ci } 331e41f4b71Sopenharmony_ci let fetchResult: sendablePhotoAccessHelper.FetchResult<sendablePhotoAccessHelper.PhotoAsset> = 332e41f4b71Sopenharmony_ci await phAccessHelper.getAssets(fetchOptions); 333e41f4b71Sopenharmony_ci let photoAsset: sendablePhotoAccessHelper.PhotoAsset = await fetchResult.getFirstObject(); 334e41f4b71Sopenharmony_ci if (photoAsset != undefined) { 335e41f4b71Sopenharmony_ci let analysisData: string = await photoAsset.getAnalysisData( 336e41f4b71Sopenharmony_ci photoAccessHelper.AnalysisType.ANALYSIS_OCR); 337e41f4b71Sopenharmony_ci console.info('get ocr result: ' + JSON.stringify(analysisData)); 338e41f4b71Sopenharmony_ci } 339e41f4b71Sopenharmony_ci fetchResult.close(); 340e41f4b71Sopenharmony_ci } catch (err) { 341e41f4b71Sopenharmony_ci console.error(`getAnalysisDataDemofailed with error: ${err.code}, ${err.message}`); 342e41f4b71Sopenharmony_ci } 343e41f4b71Sopenharmony_ci} 344e41f4b71Sopenharmony_ci``` 345e41f4b71Sopenharmony_ci 346e41f4b71Sopenharmony_ci## Album 347e41f4b71Sopenharmony_ci 348e41f4b71Sopenharmony_ciProvides APIs to manage albums. 349e41f4b71Sopenharmony_ci 350e41f4b71Sopenharmony_ci## AlbumType 351e41f4b71Sopenharmony_ci 352e41f4b71Sopenharmony_ciEnumerates the album types. 353e41f4b71Sopenharmony_ci 354e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 355e41f4b71Sopenharmony_ci 356e41f4b71Sopenharmony_ci| Name | Value | Description | 357e41f4b71Sopenharmony_ci| ----- | ---- | ---------------------------------------------- | 358e41f4b71Sopenharmony_ci| SMART | 4096 | Smart analysis album. **System API**: This is a system API.| 359e41f4b71Sopenharmony_ci 360e41f4b71Sopenharmony_ci## AlbumSubtype 361e41f4b71Sopenharmony_ci 362e41f4b71Sopenharmony_ciEnumerate the album subtypes. 363e41f4b71Sopenharmony_ci 364e41f4b71Sopenharmony_ci**System capability**: SystemCapability.FileManagement.PhotoAccessHelper.Core 365e41f4b71Sopenharmony_ci 366e41f4b71Sopenharmony_ci| Name | Value | Description | 367e41f4b71Sopenharmony_ci| --------------------- | ---- | ---------------------------------------------------------- | 368e41f4b71Sopenharmony_ci| HIDDEN | 1027 | Hidden album.<br/>**System API**: This is a system API. | 369e41f4b71Sopenharmony_ci| TRASH | 1028 | Trash.<br/>**System API**: This is a system API. | 370e41f4b71Sopenharmony_ci| SCREENSHOT | 1029 | Album for screenshots and screen recording files.<br/>**System API**: This is a system API. | 371e41f4b71Sopenharmony_ci| CAMERA | 1030 | Album for photos and videos taken by the camera.<br/>**System API**: This is a system API. | 372e41f4b71Sopenharmony_ci| SOURCE\_GENERIC | 2049 | Source album.<br/>**System API**: This is a system API. | 373e41f4b71Sopenharmony_ci| CLASSIFY | 4097 | Classified album. <br/>**System API**: This is a system API. | 374e41f4b71Sopenharmony_ci| GEOGRAPHY\_LOCATION | 4099 | Geographic location album. <br/>**System API**: This is a system API. | 375e41f4b71Sopenharmony_ci| GEOGRAPHY\_CITY | 4100 | City album. <br/>**System API**: This is a system API. | 376e41f4b71Sopenharmony_ci| SHOOTING\_MODE | 4101 | Shooting mode album. <br/>**System API**: This is a system API. | 377e41f4b71Sopenharmony_ci| PORTRAIT | 4102 | Portrait album. <br/>**System API**: This is a system API. | 378e41f4b71Sopenharmony_ci| GROUP_PHOTO | 4103 | Group photo album. <br/>**System API**: This is a system API. | 379e41f4b71Sopenharmony_ci| HIGHLIGHT | 4104 | Highlights album. <br/>**System API**: This is a system API. | 380e41f4b71Sopenharmony_ci| HIGHLIGHT_SUGGESTIONS | 4105 | Highlights suggestion album. <br/>**System API**: This is a system API. | 381