---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

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

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

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：6分

NowAttachmentService API を使用すると、添付ファイルに対して CRUD 操作を実行し、ServiceNow インスタンスから添付ファイルのメタデータを取得できます。
注:  
NowAttachment API は、ベースServiceNowシステムのゲストユーザーに対して機能します。  
この API を使用すると、次のことができます。

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

添付ファイルの操作の詳細については、「 [添付ファイル API](https://servicenow-prod.fluidtopics.net/1H5ZQbcRxmGejfjCqt80xA#c_AttachmentAPI "添付ファイル API は、添付ファイルをアップロードしてクエリできるようにするエンドポイントを提供します。")」を参照してください。  
NowAttachmentService をインスタンス化する方法を次に示します。

    /**
     * Helper class used to handle different Now service instances. 
     * It has an application scope or is a Singleton.
     */
    @Singleton
    class SdkManager @Inject constructor() {


        private var nowAttachmentService: NowAttachmentService? = null

        /**
         * Create the NowAttachmentService once in the lifetime of the application 
         * inside the Application class or another manager class
         * that will be injected into other classes via dagger/hilt.
         * NowAttachmentService should be created after initializing the NowSDK
         */
        suspend fun getNowAttachmentService(): NowAttachmentService? {
            if (nowAttachmentService != null) return nowAttachmentService

            return NowDataSDK.makeAttachmentService(URL("https://instance-name.service-now.com"))
                .getOrThrow()
                .also { this.nowAttachmentService = it }
        }
    }

特定の添付ファイルのメタデータをフェッチする [Call](https://servicenow-prod.fluidtopics.net/f9MOJM5d6RJ30rx8bmji1w#CallAndroidInterface "呼び出しインターフェイスは、処理用に準備された要求を表します。") オブジェクトを取得する方法を次に示します。指定された要求を実行し、 `Response<NowAttachmentMetadata>` を返すことができる実行可能オブジェクトを作成します。  

    suspend fun fetchMetadata(sysId: String) {
        val response = runCatching {
            sdkManager.getNowAttachmentService()?.attachmentMetadata(sysId)?.execute()
        }

        if (response.isSuccess) {
            val nowAttachmentMetadata = response.getOrNull()?.body
        } else {
            Log.e("NowSDK", "result not successful")
        }
    }

複数の添付ファイルのメタデータをフェッチする [Call](https://servicenow-prod.fluidtopics.net/f9MOJM5d6RJ30rx8bmji1w#CallAndroidInterface "呼び出しインターフェイスは、処理用に準備された要求を表します。") オブジェクトを取得する方法を次に示します。指定された要求を実行し、 `Response<List<NowAttachmentMetadata>>` を返すことができる実行可能オブジェクトを作成します。  

    suspend fun fetchMultipleMetadata() {
        val filterQuery = "content_type=text/plain"
        val limit = 5

        val response = runCatching {
            sdkManager.getNowAttachmentService()?.attachmentMetadata(Filter(filterQuery), limit)?.execute()
        }

        if (response.isSuccess) {
            val attachmentMetadataList = response.getOrNull()?.body
        } else {
            Log.e("NowSDK", "result not successful")
        }
    }

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

NowAttachmentService メソッドを使用して、1 つ以上の添付ファイルの添付ファイルメタデータをダウンロードできます。複数の添付ファイルからメタデータをダウンロードする場合は、返される可能性のある大量のデータを簡単に反復処理できる Paginator オブジェクトを返す [NowAttachmentService - attachmentMetadataPaginator(filter: フィルター? = null, 制限: Int? = null)](https://servicenow-prod.fluidtopics.net/b8qE6TGySWvqpcjT5423Cg#NAttServ-attachMetadataPaginat_S_I "指定された基準を満たすすべての添付ファイルのメタデータを取得し、返されたメタデータのページを反復処理するためのページネーターを作成します。") メソッドを使用することをお勧めします。  
その後、Paginator メソッドを使用して返されたメタデータを反復処理し、 observe() コールバックで応答を受信できます。

     suspend fun createAttachmentMetadataPaginator() {
      val filterQuery: String = "content_type=text/plain"
      val filter = filterQuery.let(::Filter)
      val limit = 10

      val paginator = sdkmanager.getNowAttachmentService()?.attachmentMetadataPaginator(filter, limit)
        ?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
          override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
            // Handle response
          }

          override fun onFailure(e: NowDataError) {
            // Handle error
          }

        })
        ?: throw Exception("Response is null")

      // Use paginator operators to navigate. Example
      while (paginator.hasNext() && !paginator.isBusy()) {
        paginator.next()
      }
    }

返された Paginator オブジェクトは、返されたレコードをページングできるようにする次のメソッドを提供します。最初に observe() 関数を呼び出して、ページネーターのコールバックを設定する必要があります。

* first()
* hasNext()
* hasPrevious
* ビジー
* last()
* 次へ()
* observe()
* previous()
* リセット()

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

