---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Rufen Sie Anhänge und Anhangsmetadaten ab

# Rufen Sie Anhänge und Anhangsmetadaten ab {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 2 Minuten Lesedauer

Mit der NowAttachmentService- API können Sie CRUD-Vorgänge für Anhänge ausführen und Anhangmetadaten aus Ihrer -Instanz ServiceNow abrufen.
Hinweis:  
Die NowAttachment- API funktioniert für Gastbenutzer im Basissystem ServiceNow.  
Mit dieser API können Sie:

* Laden Sie Anhänge in Ihre Instanz ServiceNow hoch und ordnen Sie sie einem bestimmten Datensatz zu.
* Laden Sie einen oder mehrere Anhänge herunter.
* Löschen Sie Anhänge.
* Validiert einen Anhang, indem der berechnete Hash des Anhangs mit dem erwarteten Hash verglichen wird.
* Laden Sie die Anhangmetadaten herunter. Diese Metadaten werden von Ihrer Instanz ServiceNow generiert, wenn ein Anhang hochgeladen wird.
{#mobsdk-and-retrieve_attach_metadata__ul_l5y_qjw_3qb}

Weitere Informationen zum Arbeiten mit Anhängen finden Sie unter [Anhang-API](https://servicenow-prod.fluidtopics.net/YREOrU~v~GGxY6M4nLRWag#c_AttachmentAPI "Die Anhang -API bietet Endpunkte, mit denen Sie Dateianhänge hochladen und abfragen können.").  
Im Folgenden wird gezeigt, wie Sie NowAttachmentService instanziieren:

    /**
     * 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 }
        }
    }

Im Folgenden wird gezeigt, wie Sie ein [Aufrufobjekt](https://servicenow-prod.fluidtopics.net/mWDE0KhzOw1jWGfFagyo2g#CallAndroidInterface "Die Schnittstelle Anruf stellt eine Anforderung dar, die zur Verarbeitung vorbereitet wird.") abrufen, das Metadaten für bestimmte Anhänge abruft. Erstellt ein ausführbares Objekt, das die angegebene Anforderung ausführen und die `Antwort`zurückgeben kann\<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")
        }
    }

Im Folgenden wird gezeigt, wie Sie ein [Call](https://servicenow-prod.fluidtopics.net/mWDE0KhzOw1jWGfFagyo2g#CallAndroidInterface "Die Schnittstelle Anruf stellt eine Anforderung dar, die zur Verarbeitung vorbereitet wird.") -Objekt abrufen, das Metadaten für mehrere Anhänge abruft. Erstellt ein ausführbares Objekt, das die angegebene Anforderung ausführen und eine `Antwort<-Liste`zurückgeben kann\<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")
        }
    }

## Paginierung der Anhangmetadaten {#mobsdk-and-retrieve_attach_metadata__section_stt_34w_3qb}

Sie können die NowAttachmentService- Methoden verwenden, um Anhangmetadaten für einen oder mehrere Anhänge herunterzuladen. Wenn Sie Metadaten aus mehreren Anhängen herunterladen, möchten Sie möglicherweise die Methode [NowAttachmentService - AttachmentMetadataPaginator(filter: Filter? = null, limit: Int? = null)](https://servicenow-prod.fluidtopics.net/yBe~X~HdeW6k8mGANSXWTQ#NAttServ-attachMetadataPaginat_S_I "Ruft die Metadaten für alle Anhänge ab, die die angegebenen Kriterien erfüllen, und erstellt einen Paginator zum Iterieren durch die Seiten der zurückgegebenen Metadaten.") verwenden, die ein Paginator-Objekt zurückgibt, mit dem Sie auf einfache Weise über die potenziell große Menge der zurückgegebenen Daten iterieren können.  
Anschließend können Sie die zurückgegebenen Metadaten mit Paginator-Methoden durchlaufen und erhalten die Antwort im Rückruf von „observ ()".

     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()
      }
    }

Das zurückgegebene Paginator-Objekt stellt die folgenden Methoden bereit, mit denen Sie durch die zurückgegebenen Datensätze blättern können. Sie müssen zuerst die Funktion observ () aufrufen, um den Rückruf des Paginators festzulegen.

* zuerst ()
* hasNext()
* hatVorherige
* isBusy
* letzte ()
* next()
* Beobachten ()
* vorherige ()
* reset()

{#mobsdk-and-retrieve_attach_metadata__ul_pyb_2w3_3qb}  
Hinweis:  
Einige Paginatormethoden lösen möglicherweise eine Ausnahme aus, z. B. wenn keine Seiten mehr abzurufen sind.

