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


---

# Interagieren Sie mit der öffentlichen REST-API in einer ServiceNow -Instanz

# Interagieren Sie mit der öffentlichen REST-API in einer ServiceNow -Instanz {#ariaid-title1}

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

Mobile SDK stellt eine Funktionalität bereit, mit der Anwendungen von Android die öffentliche REST API in einer Instanz von ServiceNow \] aufrufen können.
Mithilfe der [NowAPIService-](https://servicenow-prod.fluidtopics.net/libp_xh6AiCA9tGK8AB4jQ#NowAPIServiceAndroidInterface "Die NowAPIService- Schnittstelle bietet die Möglichkeit, Anforderungen für eine angegebene ServiceNow REST API auszuführen.") API können Sie mit jeder der öffentlichen ServiceNow Basis- [REST APIs](https://servicenow-prod.fluidtopics.net/M6UfhiLugQACF~D8gEbkrw "Verwenden Sie REST-Schnittstellen, um auf Daten in Ihrer Instanz zuzugreifen.")interagieren oder anwenderdefinierte REST APIs innerhalb der Instanz erstellen und diese über Ihre Anwendung Android aufrufen.

Bevor Sie eine ServiceNow -REST-API aufrufen, müssen Sie die Methode[makeNowAPIService() aufrufen](https://servicenow-prod.fluidtopics.net/eJjJ__plFsUadqeZsRpusg#NDataSDK-makeNowAPIService_S_O_O "Erstellt und initialisiert eine Instanz des NowAPIService-Service. Mit diesem Service können Sie auf die öffentlichen REST APIs zugreifen, die von Ihrer Instanz ServiceNow verfügbar gemacht werden."), um eine Instanz des Service zu erstellen. Die Serviceinstanz wird bei Erfolg im Rückruf zurückgegeben, andernfalls wird ein Fehler ausgegeben.  
Im Folgenden wird gezeigt, wie ein NowAPIService-Objekt initialisiert wird:

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

        private var nowApiService: NowAPIService? = null

        /**
         * Create the NowAPIService 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.
         * NowAPIService should be created after initializing the NowSDK
         */
        suspend fun getNowApiService(): NowAPIService? {
            if (nowApiService != null) return nowApiService

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

    }

Verwenden Sie nach der Initialisierung des NowAPIService-Objekts die Methode NowAPIService [data()](https://servicenow-prod.fluidtopics.net/libp_xh6AiCA9tGK8AB4jQ#NAPIServ-data_S_S_S_S "Ruft die angegebene REST-API in der angegebenen Instanz ServiceNow auf."), um den aufzurufenden REST-Endpunkt und alle zugehörigen Parameter anzugeben:

     suspend fun makeNowApiCall() {
      val apiService = sdkManager.getNowApiService()

      val apiPath = "api/now/table/sn_customerservice_case"
      val endpoint = NowAPIService.Endpoint(HttpMethod.GET, apiPath, true)
      val fieldNames = "sys_id,number,short_description,number,priority,state," +
        "opened_at,account.name,account.number,contact.name,contact.email," +
        "contact_type,assignment_group.name,assigned_to.name"

      val queryParamsMap = mapOf("sysparm_fields" to fieldNames, "sysparm_limit" to "10")

      val queryParams = QueryParams.Builder().addAll(queryParamsMap).build()

      val response = runCatching {
        apiService?.data(endpoint = endpoint, queryParams = queryParams)?.execute()
      }

      if (response.isSuccess) {
        val resultString = response.getOrNull()?.body?.let { String(it) }
      } else {
        // Handle error
      }
    }


