---
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


---

# NowAttachmentMetadata 構造体 - iOS

# NowAttachmentMetadata 構造体 - iOS {#ariaid-title1}

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

NowAttachmentMetadata 構造体は、添付ファイルのメタデータをエンコードおよび管理できるようにする関数を提供します。
{#NowAttachmentMetadataiOSStructure__table_vx2_klw_5pb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| 平均画像色 | 文字列 | 関連付けられた画像で最も目立つ色。 |
| chunkSizeInBytes | 整数 | チャンクのサイズ。 単位：バイト |
| 圧縮サイズ (バイト単位) | 整数 | 添付ファイルの圧縮サイズ。 単位：バイト |
| 作成日時 | 日付 | 添付ファイルが作成された日付。 |
| createdBy | 文字列 | 添付ファイルを作成したエンティティ。 |
| ダウンロード | URL | ServiceNowインスタンスの添付ファイルの URL。 |
| fileName | 文字列 | 添付ファイルの名前。 |
| ハッシュ | 文字列 | 添付ファイルの想定される SHA256 ダイジェスト。 ダウンロードされた添付ファイルは、計算されたダイジェストをこの SHA256 ダイジェストと比較することで [検証](https://servicenow-prod.fluidtopics.net/xBw~PeSGQfrpDP_3y3FeNw#NAttachiOS-validate "添付ファイルデータの計算されたハッシュを、添付ファイルのメタデータに格納されているダイジェストと比較して、添付ファイルを検証します。") されます。 |
| 画像の高さ | 整数 | 画像の高さ。 単位：ピクセル |
| imageWidth | 整数 | 画像の幅。 単位：ピクセル |
| 圧縮済み | ブーリアン | 添付ファイルが圧縮されているかどうかを示すフラグ。 可能な値： * true:添付ファイルは圧縮されています。 * false:添付ファイルは圧縮されていません。 |
| mimeType | 文字列 | 添付ファイルの MIME タイプ。 |
| modificationCount | 整数 | 添付ファイルが変更された回数。 |
| sizeInBytes | 整数 | 添付ファイルのサイズ。 単位：バイト |
| sourceSysId | 文字列 | 添付ファイルの sys_id。 |
| ソーステーブル名 | 文字列 | 添付ファイルが存在するソーステーブルの名前。 |
| state |   | 条件付き、利用不可、利用可能、保留などの可用性ステータス。 |
| sysId | 文字列 | ServiceNow インスタンス内の各レコードを識別する、一意の 32 文字のグローバル一意 ID (GUID)。 |
| tags | 文字列 | 添付ファイルに関連付けられたタグのリスト。 |
| 更新完了 | 日付 | 添付ファイルが最後に変更された日付。 |
| updatedBy | 文字列 | 添付ファイルを更新したエンティティ。 |
[表 : 1. プロパティ]

{#NowAttachmentMetadataiOSStructure__table_vx2_klw_5pb}

## NowAttachmentMetadata - encode (エンコーダーへ: Encoder) {#ariaid-title2}

指定されたエンコーダーを使用して、現在のオブジェクト値をデータにエンコードします。
オブジェクトがデータへのエンコードに失敗した場合、エンコーダーは代わりに空の [キー付きコンテナー](https://developer.apple.com/documentation/swift/keyeddecodingcontainer) をエンコードします。この関数は、指定されたエンコーダーの形式に対して無効な値がある場合にもエラーをスローします。
{#NAttMeta-encode_S__table_vx2_klw_5pb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| エンコーダーへ | [Encoder](https://developer.apple.com/documentation/swift/encoder) | エンコードされた出力の構造を定義するエンコーダー。 |
[表 : 2. パラメーター]

{#NAttMeta-encode_S__table_vx2_klw_5pb} {#NAttMeta-encode_S__table_wx2_klw_5pb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 3. 返される内容]

{#NAttMeta-encode_S__table_wx2_klw_5pb}  
次のコード例は、この関数を呼び出す方法を示しています。

    let query = "active=true^short_descriptionLIKEbroken"
    let filter = Filter(query: query)
    metadataPublisher(filter: filter, limit: 1)
    private func metadataPublisher(filter: Filter?, limit: Int?) {
      let publisher = attachmentService.attachmentMetadata(filter: filter, limit: limit)
      publisher
      .receive(on: DispatchQueue.main)
      .encode(encoder: JSONEncoder())
      .sink { [weak self] completion in
        if case let .failure(error) = completion {
          // attachment published failed, return NowDataError
        }
      } receiveValue: { [weak self] (data) in
        // Attachment published successful, return data
      }
      .store(in: &subscriptions)
    }

## NowAttachmentMetadata - init(デコーダーから:デコーダー) {#ariaid-title3}

指定されたデコーダーからオブジェクトにデータをデコードすることで、新しい NowAttachmentMetadata インスタンスを作成します。
このメソッドは、デコーダーからの読み取りに失敗した場合、または読み取られたデータが破損しているか無効である場合にエラーをスローします。
{#NAttMeta-init_S__table_phq_nkw_5pb__entry__3}

| 名前 | タイプ | Description (説明) |
|-|-|-|
| デコーダ | デコーダ | データを読み取るデコーダー。 |
[表 : 4. パラメーター]

{#NAttMeta-init_S__table_phq_nkw_5pb} {#NAttMeta-init_S__table_qhq_nkw_5pb__entry__2}

| タイプ | 説明 |
|-|-|
| なし |   |
[表 : 5. 返される内容]

{#NAttMeta-init_S__table_qhq_nkw_5pb}  
次のコード例は、この関数を呼び出す方法を示しています。

    guard 
      let metadataHeader = response.httpResponse?.value(forHTTPHeaderField: NowAttachment.attachmentMetadataHeaderKey),
      let metadataHeaderData = metadataHeader.data(using: .utf8) else {
        throw NowDataError.missingAttachmentMetadata
      }
                
    let metadata = try coder.decode(NowAttachmentMetadata.self, from: metadataHeaderData)
    let attachment = NowAttachment(metadata: metadata, data: response.data)


