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

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:4分
  • NowAttachmentService API を使用すると、添付ファイルに対して CRUD 操作を実行し、ServiceNowインスタンスから添付ファイルのメタデータを取得できます。

    この API を使用すると、次のことができます。
    • 添付ファイルを ServiceNow インスタンスにアップロードして、特定のレコードに関連付けます。
    • 1 つまたは複数の添付ファイルをダウンロードします。
    • 添付ファイルを削除します。
    • 添付ファイルの計算済みハッシュを予想されるハッシュと比較して、添付ファイルを検証します。
    • 添付ファイルのメタデータをダウンロードします。このメタデータは、添付ファイルがアップロードされるときに ServiceNow インスタンスによって生成されます。

    添付ファイルの操作の詳細については、「 添付ファイル API」を参照してください。

    すべての NowAttachmentService メソッドは、結果データを返すための 3 つの実装を提供します。1 つは、返される結果を使用して完了ハンドラーを呼び出すもの、1 つは async/await を実行するもの、もう 1 つは Combine パブリッシャーを返す (非推奨) です。たとえば、各 upload() メソッドは、指定された添付ファイルをアップロードし、指定されたレコードに関連付けます。ただし、 NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate, completion: @escaping (Result<NowAttachmentMetadata, NowDataError>)) メソッドは戻り値を使用して完了ハンドラーを呼び出し、 NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate) async throws メソッドは async/await を実行し、 NowAttachmentService - upload(data: Data, configuration: NowAttachmentUploadConfiguration, progressUpdate: @escaping ProgressUpdate) メソッドは Combine パブリッシャーを返します。

    NowAttachmentService API を使用する前に、NowData をインポートし、NowAttachmentService オブジェクトを初期化する必要があります。
    // Import the NowData framework
    import NowData
    
    func makeAttachmentService(instanceUrl: URL, 
      completion: @escaping ((Result<NowAttachmentService, NowServiceErrors>) → Void))

    添付ファイルメタデータのページネーション

    NowAttachmentService メソッドを使用して、1 つ以上の添付ファイルの添付ファイルメタデータをダウンロードできます。複数の添付ファイルからメタデータをダウンロードする場合は、 NowAttachmentService - attachmentMetadataPaginator(filter: Filter, limit: Int) メソッドを使用して、返される可能性のある大量のデータを簡単に反復処理できる Paginator オブジェクトを返すことができます。通常、ページ分割された戻り値の結果は、UITableView、UICollectionView (UIKit)、または List (SwiftUI) 内に表示されるデータに無限スクロール機能を提供するか、一般的な結果のページ反復を簡略化するために使用します。

    Paginator オブジェクトを取得したら、そのパブリッシャーに登録してデータの受信を開始します。
    paginator.publisher
      .subscribe(on: DispatchQueue.global())
      .receive(on: DispatchQueue.main)
      .sink { ... }
      .store(in: &subscriptions)
    返された Paginator オブジェクトは、返されたレコードをページングできるようにする次のメソッドを提供します。
    • 最初の()
    • 最後 (Last()
    • 次へ()
    • 前()
    • reset()
    注:
    一部の Paginator メソッドは、フェッチするページがなくなった場合など、例外をスローする場合があります。

    さらに、Paginator オブジェクトは、ページネーションされたデータに関するインサイトを取得できるプロパティを提供します。これらのプロパティと使用可能なメソッドの詳細については、「 Paginator API - iOS」を参照してください。