---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://www.servicenow.com/docs/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


---

# NowAPIService-Klasse -- iOS

# NowAPIService-Klasse -- iOS {#ariaid-title1}

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

Die Klasse NowAPIService stellt Funktionen bereit, mit denen Sie Anforderungen an eine angegebene ServiceNow -REST-API durchführen können.
{#NowAPIServiceiOSAPI__table_vx2_klw_5pb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| konfigurieren | [NowServiceKonfiguration](https://www.servicenow.com/docs/t29ejQijYiDvAZOB3b4eYQ#NowServiceConfigurationiOSStruct "Die NowServiceConfiguration- Struktur definiert Konfigurationsinformationen für einen Funktionsservice.") | Servicekonfiguration, die dem Protokoll zugeordnet werden soll. |
[Tabelle : 1. Eigenschaften]

{#NowAPIServiceiOSAPI__table_vx2_klw_5pb}

## NowAPIService -- data(für Endpunkt: NowAPIEndpoint, Abfrageelemente: \[Zeichenfolge: Zeichenfolge\], httpHeaders: \[Zeichenfolge: Zeichenfolge\], Textkörper: Daten, Abschluss: @escaping (Ergebnis\<DataResponse, NowDataError\> ) {#ariaid-title2}

Fordert Daten von der angegebenen ServiceNow -REST-API an und führt dann den Abschluss-Handler aus.
{#NAPIiOS-data_O_A_A_S_O__table_jck_kyp_5pb__entry__3}{#NAPIiOS-data_O_A_A_S_O__mobilesdkiOS-completion_data_dataerror-row}

| Name | Typ | Beschreibung |
|-|-|-|
| für Endpunkt | [NowAPIEndpoint](https://www.servicenow.com/docs/MczoApPmtc_1ADcZ2lzYUQ#NowAPIEndpointiOSProtocol "Das NowAPIEndpoint- Protokoll bietet eine Schnittstelle für den Zugriff auf alle öffentlich verfügbar gemachten ServiceNow REST APIs.") | Objekt, das den ServiceNow REST-API-Endpunkt für den Zugriff enthält, einschließlich HTTP-Methode, relativer Pfad zum Endpunkt, Pfadparameter und Angabe, ob eine Authentifizierung erforderlich ist. |
| Abfrageelemente | Array | Optional. Abfrageparameter für den Endpunkt als Schlüssel-Wert-Paare. Standard: null |
| httpHeaders | Array | Optional. HTTP-Header der Anforderung, die vom Endpunkt als Schlüssel-Wert-Paare benötigt werden. Standard: null |
| body | Zeichenfolge | Optional. Parameter des Anforderungstexts. Standard: null |
| Abschluss | @escaping (Ergebnis\<DataResponse, NowDataError\> ) | Abschluss-Handler, der nach Abschluss des REST-API-Aufrufs ausgeführt werden soll. Rückgabewerte für den Abschluss-Handler: * Erfolg: DataResponse, das die vom REST-API-Aufruf zurückgegebenen Daten enthält. * Fehler: NowDataError * `Zugriffstoken(ZugriffstokenProviderError)` * AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters. * „accessTokenRetrieval" fehlgeschlagen * userSessionError(_ Fehler: Fehler) Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt. * `„attachmentValidation"` Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt. * `_badResponse(statusCode: HTTPStatusCode)` * HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde. Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt * `kann nichtDecodeModell(Decodierungsfehler)` * DecodingError: Decodierungsfehler erkannt. Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann. * `kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)` * type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge. * from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll. Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann. * `kann nicht EncodeModel (EncodingError)` * EncodingError: Codierungsfehler erkannt. Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann. * `kannAntwort nichtParse` Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann. * `ungültigeURL` Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt. * `FehlendeAttachmentMetadata` Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt. * `fehltServiceKonfiguration` Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt. * `fehltSysID` Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt. * `Netzwerk(NetzwerkServiceFehler)` * generischeError(Zeichenfolge) * VorgangAbgebrochen * service Deaktiviert * serverError(Fehler) * systemError(Fehler) Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist. {#NAPIiOS-data_O_A_A_S_O__NowDataErroriOS-ul-enum} {#NAPIiOS-data_O_A_A_S_O__ul_uzx_thj_ppb} |
[Tabelle : 2. Parameter]

{#NAPIiOS-data_O_A_A_S_O__table_jck_kyp_5pb} {#NAPIiOS-data_O_A_A_S_O__table_kck_kyp_5pb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 3. Ergebnisse]

{#NAPIiOS-data_O_A_A_S_O__table_kck_kyp_5pb}  
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    struct Endpoint: NowAPIEndpoint {
      let httpMethod: HTTPMethod
      let relativePath: String
      let requiresAuthentication: Bool
    }

    /// HTTP request method
    public enum HTTPMethod: CaseIterable {
        case options, get, head, post, put, patch, delete, trace, connect
    }
    let relativePath = "/api/now/account"
    let endPoint = Endpoint(httpMethod: HTTPMethod.get, relativePath: relativePath, requiresAuthentication: true)

    apiService.data(for: endPoint, queryItems: ["name": "abel"], httpHeaders: httpHeaders, body: body.data(using: .utf8)) { [weak self] (result) in
      switch result {
        case .success(let response):
        // Data request successful
        case .failure(let error):
        // Data request failed, return NowDataError
        // .failure(error)
      }
    }

## NowAPIService -- Daten (für Endpunkt: NowAPIEndpoint, Abfrageelemente: \[Zeichenfolge: Zeichenfolge\], httpHeaders: \[Zeichenfolge: Zeichenfolge\], Textkörper: Daten) lösen asynchrone Aktionen aus {#ariaid-title3}

Fordert Daten von der angegebenen ServiceNow REST API an.
{#NAPIiOS-data-async_O_A_A_S_O__table_jck_kyp_5pb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| für Endpunkt | [NowAPIEndpoint](https://www.servicenow.com/docs/MczoApPmtc_1ADcZ2lzYUQ#NowAPIEndpointiOSProtocol "Das NowAPIEndpoint- Protokoll bietet eine Schnittstelle für den Zugriff auf alle öffentlich verfügbar gemachten ServiceNow REST APIs.") | Objekt mit dem Zugriff auf den ServiceNow REST-API-Endpunkt für, einschließlich HTTP-Methode, relativer Pfad zum Endpunkt, Pfadparameter und Angabe, ob eine Authentifizierung erforderlich ist. |
| Abfrageelemente | Array | Optional. Abfrageparameter für den Endpunkt als Schlüssel-Wert-Paare. Standard: null |
| httpHeaders | Array | Optional. Für den Endpunkt erforderliche HTTP-Header als Schlüssel-Wert-Paareanfordern. Standard: null |
| body | Zeichenfolge | Optional. Anforderungstexty Parameterrs. Standard: null |
[Tabelle : 4. Parameter]

{#NAPIiOS-data-async_O_A_A_S_O__table_jck_kyp_5pb} {#NAPIiOS-data-async_O_A_A_S_O__table_kck_kyp_5pb__entry__2}

| Typ | Beschreibung |
|-|-|
| DataResponse | Wird zurückgegeben, wenn die Methode erfolgreich ist. Daten aus dem REST-API-Aufruf |
| NowDataError | Wird ausgelöst, wenn die Methode fehlschlägt. * `Zugriffstoken(ZugriffstokenProviderError)` * AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters. * „accessTokenRetrieval" fehlgeschlagen * userSessionError(_ Fehler: Fehler) Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt. * `„attachmentValidation"` Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt. * `_badResponse(statusCode: HTTPStatusCode)` * HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde. Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt * `kann nichtDecodeModell(Decodierungsfehler)` * DecodingError: Decodierungsfehler erkannt. Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann. * `kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)` * type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge. * from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll. Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann. * `kann nicht EncodeModel (EncodingError)` * EncodingError: Codierungsfehler erkannt. Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann. * `kannAntwort nichtParse` Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann. * `ungültigeURL` Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt. * `FehlendeAttachmentMetadata` Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt. * `fehltServiceKonfiguration` Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt. * `fehltSysID` Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt. * `Netzwerk(NetzwerkServiceFehler)` * generischeError(Zeichenfolge) * VorgangAbgebrochen * service Deaktiviert * serverError(Fehler) * systemError(Fehler) Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist. {#NAPIiOS-data-async_O_A_A_S_O__NowDataErroriOS-ul-enum} |
[Tabelle : 5. Ergebnisse]

{#NAPIiOS-data-async_O_A_A_S_O__table_kck_kyp_5pb}  
Die folgenden Codebeispiele zeigen, wie diese Methode aufgerufen wird.

    do {
        let dataResponse = try await apiService.data(for: endpoint, queryItems: queryItems, httpHeaders: httpHeaders, body: body)
        // Data request successful
    } catch {
        // Data request failed, NowDataError thrown
    }

## NowAPIService -- data(für Endpunkt: NowAPIEndpoint, Abfrageelemente: \[Zeichenfolge: Zeichenfolge\]? = Null, httpHeaders: \[Zeichenfolge: Zeichenfolge\]? = Null, Textkörper: Daten? = Null) {#ariaid-title4}

Fordert Daten von der angegebenen ServiceNow REST API an.
Hinweis:  
Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait" verwenden.
{#NAPIiOS-data_O_A_A_S__table_sfb_5tp_5pb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| für Endpunkt | [NowAPIEndpoint](https://www.servicenow.com/docs/MczoApPmtc_1ADcZ2lzYUQ#NowAPIEndpointiOSProtocol "Das NowAPIEndpoint- Protokoll bietet eine Schnittstelle für den Zugriff auf alle öffentlich verfügbar gemachten ServiceNow REST APIs.") | Objekt, das den ServiceNow REST-API-Endpunkt für den Zugriff enthält, einschließlich HTTP-Methode, relativer Pfad zum Endpunkt, Pfadparameter und Angabe, ob eine Authentifizierung erforderlich ist. |
| Abfrageelemente | Array | Optional. Abfrageparameter für den Endpunkt als Schlüssel-Wert-Paare. Standard: null |
| httpHeaders | Array | Optional. HTTP-Header der Anforderung, die vom Endpunkt als Schlüssel-Wert-Paare benötigt werden. Standard: null |
| body | Daten | Optional. Parameter des Anforderungstexts. Standard: null |
[Tabelle : 6. Parameter]

{#NAPIiOS-data_O_A_A_S__table_sfb_5tp_5pb} {#NAPIiOS-data_O_A_A_S__table_tfb_5tp_5pb__entry__2}

| Typ | Beschreibung |
|-|-|
| Beliebiger Herausgeber\<DataResponse, NowDataError\> | Erfolg: Von der REST-API zurückgegebene Daten. Fehler: NowDataError * `Zugriffstoken(ZugriffstokenProviderError)` * AccessTokenProviderError: Fehlercode oder Meldung des Zugriffstokenanbieters. * „accessTokenRetrieval" fehlgeschlagen * userSessionError(_ Fehler: Fehler) Wird ausgelöst, wenn im Zugriffstoken ein Fehler vorliegt. * `„attachmentValidation"` Wird ausgelöst, wenn die Validierung eines Anhangs fehlschlägt. * `_badResponse(statusCode: HTTPStatusCode)` * HTTPStatusCode: Statuscode, der von der Instanz empfangen wurde. Wird ausgelöst, wenn eine Anforderung eine unerwartete Antwort zurückgibt * `kann nichtDecodeModell(Decodierungsfehler)` * DecodingError: Decodierungsfehler erkannt. Wird ausgelöst, wenn ein codierbares Modell nicht aus JSON decodiert werden kann. * `kann nichtDecodeProperty(Typ: Beliebig, von: Zeichenfolge)` * type: Umschlossener Typ zum Decodieren aus einer Zeichenfolge. * from: Zeichenfolge, die in den angegebenen Typ decodiert werden soll. Wird ausgelöst, wenn ein Wert mit Zeichenfolgenumbruch nicht aus JSON decodiert werden kann. * `kann nicht EncodeModel (EncodingError)` * EncodingError: Codierungsfehler erkannt. Wird ausgelöst, wenn ein codierbares Modell nicht in JSON codiert werden kann. * `kannAntwort nichtParse` Wird ausgelöst, wenn eine Antwort von der Instanz nicht im erwarteten Format analysiert werden kann. * `ungültigeURL` Wird ausgelöst, wenn eine URL nicht gebildet werden kann. Zum Beispiel, wenn die Zeichenfolge Zeichen enthält, die in einer URL unzulässig sind, oder ob es sich um eine leere Zeichenfolge handelt. * `FehlendeAttachmentMetadata` Wird ausgelöst, wenn der Header der Anhangmetadaten fehlt. * `fehltServiceKonfiguration` Wird ausgelöst, wenn eine erwartete Servicekonfiguration fehlt. * `fehltSysID` Wird ausgelöst, wenn ein erwarteter sys_id-Parameter fehlt. * `Netzwerk(NetzwerkServiceFehler)` * generischeError(Zeichenfolge) * VorgangAbgebrochen * service Deaktiviert * serverError(Fehler) * systemError(Fehler) Wird ausgelöst, wenn bei einem Netzwerkservice ein Fehler aufgetreten ist. {#NAPIiOS-data_O_A_A_S__NowDataErroriOS-ul-enum} |
[Tabelle : 7. Ergebnisse]

{#NAPIiOS-data_O_A_A_S__table_tfb_5tp_5pb}  
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    struct Endpoint: NowAPIEndpoint {
        let httpMethod: HTTPMethod
        let relativePath: String
        let requiresAuthentication: Bool
    }

    /// HTTP request method
    public enum HTTPMethod: CaseIterable {
        case options, get, head, post, put, patch, delete, trace, connect
    }
    let relativePath = "/api/now/account"
    let endPoint = Endpoint(httpMethod: HTTPMethod.get, relativePath: relativePath, requiresAuthentication: true)

    // Using Combine
    apiService.data(for: Endpoint(httpMethod: httpMethod, relativePath: endpointPath, requiresAuthentication: requiresAuthentication), queryItems: queryItems, httpHeaders: httpHeaders, body: body.data(using: .utf8))
      .receive(on: DispatchQueue.main)
      .sink { [weak self] (comp) in
        if case let .failure(error) = comp {
          // Data request failed, return NowDataError
        }
      } receiveValue: { [weak self] (response) in
        // Data request successful
        self?.publish(data: response.data)
      }
      .store(in: &self.subscriptions)
    }


