---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# 添付ファイルと添付ファイルメタデータを取得

# 添付ファイルと添付ファイルメタデータを取得 {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：4分

NowAttachmentService API を使用すると、添付ファイルに対して CRUD 操作を実行し、ServiceNow インスタンスから添付ファイルのメタデータを取得できます。
この API を使用すると、次のことができます。

* 添付ファイルを ServiceNow インスタンスにアップロードし、特定のレコードに関連付けます。
* 1 つ以上の添付ファイルをダウンロードします。
* 添付ファイルを削除します。
* 添付ファイルの計算されたハッシュを予想されるハッシュと比較して、添付ファイルを検証します。
* 添付ファイルのメタデータをダウンロードします。このメタデータは、添付ファイルがアップロードされたときに ServiceNow インスタンスによって生成されます。
{#mobsdk-ios-retrieve_attach_metadata__ul_l5y_qjw_3qb}

添付ファイルの操作の詳細については、「 [添付ファイル API](https://servicenow-prod.fluidtopics.net/wBetsecnSLzsO1otMGyceA#c_AttachmentAPI "添付ファイル API は、添付ファイルのアップロードおよびクエリを可能にするエンドポイントを提供します。")」を参照してください。

すべての [NowAttachmentService](https://servicenow-prod.fluidtopics.net/D34TwAUUD0Kxi3d8NB82Zw#NowAttachmentServiceiOSAPI "NowAttachmentService クラスは、ServiceNowインスタンス上のテーブル内のレコードに関連付けられている添付ファイルをアップロードしてクエリーできるようにする関数を提供します。") メソッドには、結果データを返すための 3 つの実装が用意されています。1 つは戻り値で完了ハンドラーを呼び出すもので、もう 1 つは async/await をプリフォームし、もう 1 つは [Combine](https://developer.apple.com/documentation/combine) パブリッシャー (非推奨) を返します。たとえば、各 upload() メソッドは、指定された添付ファイルをアップロードし、指定されたレコードに関連付けます。ただし、 [NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate, completion: @escaping (Result<NowAttachmentMetadata, NowDataError>))](https://servicenow-prod.fluidtopics.net/D34TwAUUD0Kxi3d8NB82Zw#NAttServiOS-upload_O_O_O_O "添付ファイルデータをアップロードし、アップロード構成で指定されたテーブルのレコードに添付します。") メソッドは戻り値を使用して完了ハンドラーを呼び出し、 [NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate) async throws](https://servicenow-prod.fluidtopics.net/D34TwAUUD0Kxi3d8NB82Zw#NAttServiOS-upload-async_O_O_O_O "添付ファイルデータをアップロードし、アップロード構成で指定されたテーブルのレコードに添付します。") メソッドは async/await を実行し、 [NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate)](https://servicenow-prod.fluidtopics.net/D34TwAUUD0Kxi3d8NB82Zw#NAttServiOS-upload_O_O_O "添付ファイルデータをアップロードし、アップロード構成で指定されたテーブルのレコードに添付します。") メソッドは Combine パブリッシャを返します。  
NowAttachmentService API を使用するには、NowData をインポートし、NowAttachmentService オブジェクトを初期化する必要があります。

    // Import the NowData framework
    import NowData

    func makeAttachmentService(instanceUrl: URL, 
      completion: @escaping ((Result<NowAttachmentService, NowServiceErrors>) → Void))

## 添付ファイルメタデータのページネーション {#mobsdk-ios-retrieve_attach_metadata__section_stt_34w_3qb}

NowAttachmentService メソッドを使用して、1 つ以上の添付ファイルの添付ファイルメタデータをダウンロードできます。複数の添付ファイルからメタデータをダウンロードする場合は、返される大量のデータを簡単に反復処理できる [Paginator](https://servicenow-prod.fluidtopics.net/k6L3UPJm5_odBUZvEpxEZg#PaginatorIOSAPI "Paginator クラスは、NowTableService を介したServiceNow テーブル API の呼び出しによって返されるレコード セットを反復処理するためのメソッドを提供します。これは、NowTableService paginator() メソッドによって返されるオブジェクトです。このメソッドをその環境の外部で呼び出さないでください。") オブジェクトを返す [NowAttachmentService - attachmentMetadataPaginator(フィルター:フィルター、制限:整数)](https://servicenow-prod.fluidtopics.net/D34TwAUUD0Kxi3d8NB82Zw#NAttServiOS-attachMetadataPag_S_I "指定された基準を満たすすべての添付ファイルのメタデータを取得し、返されたメタデータのページを反復処理するための Paginator オブジェクトを返します。") メソッドを使用できます。通常、ページ分割された戻り値の結果は、UITableView、UICollectionView (UIKit)、または List (SwiftUI) 内に表示されるデータに無限スクロール機能を提供するため、または一般的な結果のページ反復を簡略化するために使用します。  
Paginatorオブジェクトを取得したら、そのパブリッシャをサブスクライブしてデータの受信を開始します。

    paginator.publisher
      .subscribe(on: DispatchQueue.global())
      .receive(on: DispatchQueue.main)
      .sink { ... }
      .store(in: &subscriptions)

返された Paginator オブジェクトは、返されたレコードをページングできるようにする次のメソッドを提供します。

* first()
* last()
* next()
* previous()
* reset()

{#mobsdk-ios-retrieve_attach_metadata__ul_pyb_2w3_3qb}  
注:  
一部の Paginator メソッドは、フェッチするページがなくなった場合など、例外をスローする場合があります。

さらに、Paginator オブジェクトには、ページネーションされたデータに関するインサイトを取得できるプロパティが用意されています。これらのプロパティと使用可能なメソッドの詳細については、「 [ページネーター API - iOS](https://servicenow-prod.fluidtopics.net/k6L3UPJm5_odBUZvEpxEZg#PaginatorIOSAPI "Paginator クラスは、NowTableService を介したServiceNow テーブル API の呼び出しによって返されるレコード セットを反復処理するためのメソッドを提供します。これは、NowTableService paginator() メソッドによって返されるオブジェクトです。このメソッドをその環境の外部で呼び出さないでください。")」を参照してください。

