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


---

# NowGraphQLService-Klasse -- iOS

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

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

Die Klasse NowGraphQLService bietet Funktionen, mit denen Sie über die GraphQL- REST-API Anforderungen mithilfe von GraphQL-Abfragen für Daten in Ihrer Instanz ServiceNow stellen können.
{#NowGraphQLServiceiOSAPI__table_vx2_klw_5pb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| konfigurieren | [NowServiceKonfiguration](https://servicenow-prod.fluidtopics.net/t29ejQijYiDvAZOB3b4eYQ#NowServiceConfigurationiOSStruct "Die NowServiceConfiguration- Struktur definiert Konfigurationsinformationen für einen Funktionsservice.") | Konfigurationseinstellungen, die bei der Initialisierung des Service angegeben wurden. |
[Tabelle : 1. Eigenschaften]

{#NowGraphQLServiceiOSAPI__table_vx2_klw_5pb}

## NowGraphQLService: asynchrone Würfe von execute(query: GraphQLQuery). {#ariaid-title2}

Führt die angegebene GraphQL-Abfrage aus.
{#NGQLServ-execute-async_S__table_sfm_c4h_ppb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| query | Zeichenfolge | Auszuführende GraphQL-Abfrage. |
[Tabelle : 2. Parameter]

{#NGQLServ-execute-async_S__table_sfm_c4h_ppb} {#NGQLServ-execute-async_S__table_tfm_c4h_ppb__entry__2}

| Typ | Beschreibung |
|-|-|
| Daten | Wird zurückgegeben, wenn die Methode erfolgreich ist. Abfragedaten, die aus der angegebenen Abfrage generiert wurden. |
| 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. {#NGQLServ-execute-async_S__NowDataErroriOS-ul-enum} |
[Tabelle : 3. Ergebnisse]

{#NGQLServ-execute-async_S__table_tfm_c4h_ppb}  
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    private func fetchArticles() async throws -> [Article] { 
        guard let graphQLService = graphQLService else { 
            throw ArticleListError.invalidGraphQLService 
        }         

        do {
            let data = try await graphQLService.execute(GraphQLQuery(query: recentlyPublishedQuery))
            let articles = try dataToArticleList(data)
        } catch let error as NowDataError {
            throw ArticleListError.fetchError(error)
        } catch {
            throw error
        }
    } 
      
    private let recentlyPublishedQuery = 
    """ 

    {
      GlideRecord_Query {
        kb_knowledge(queryConditions: "active=true^ORDERBYpublishedDESC" pagination: { limit: 10, offset: 0 }) {
          _results { 
            sys_id {
              value
            },
            number {
              displayValue
            },
            short_description {
              displayValue
            },
            author {
              displayValue
            }
            published {
              displayValue
            }
          }
        }
      }
    }
    """

## NowGraphQLService -- execute(query: GraphQLQuery, Abschluss: @escaping (Ergebnis\<Data, NowDataError\> )) {#ariaid-title3}

Führt die angegebene GraphQL-Abfrage aus.
{#NGQLServ-execute_S_O__table_sfm_c4h_ppb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| query | Zeichenfolge | Auszuführende GraphQL-Abfrage. |
| Abschluss | @escaping (Ergebnis\<Data, NowDataError\> ) | Abschluss-Handler, der nach Abschluss der Abfrage ausgeführt werden soll. Rückgabewerte: * Erfolg: Gibt Abfragedaten zurück. * Fehler: NowDataError {#NGQLServ-execute_S_O__ul_tst_1qh_ppb} |
[Tabelle : 4. Parameter]

{#NGQLServ-execute_S_O__table_sfm_c4h_ppb} {#NGQLServ-execute_S_O__table_tfm_c4h_ppb__entry__2}

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

{#NGQLServ-execute_S_O__table_tfm_c4h_ppb}  
<br />

    gqlService.execute(GraphQLQuery(query: myQuery)) { result in 
      switch result { 
      case .success(let data): 
        // use data 
      case .failure(let error): 
        // handle error 
      } 
    }

## NowGraphQLService -- init(configuration: NowServiceConfiguration, coreServiceProvider: NowCoreServiceProvider) {#ariaid-title4}

Erstellt einen NowGraphQLService basierend auf den angegebenen Parametern.
{#NGQLServ-init_O_O__table_k4t_mnh_ppb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| konfigurieren | [NowServiceKonfiguration](https://servicenow-prod.fluidtopics.net/t29ejQijYiDvAZOB3b4eYQ#NowServiceConfigurationiOSStruct "Die NowServiceConfiguration- Struktur definiert Konfigurationsinformationen für einen Funktionsservice.") | Konfigurationsparameter, die beim Initialisieren des Service verwendet werden sollen, z. B. die Bundle-ID der Anwendung, die in den Service integriert wird, und die URL der Instanz ServiceNow, auf die der NowGraphQLService zugreifen möchte. |
| coreServiceProvider | NowCoreServicebereitstellung | Optional. Kernserviceanbieter Hinweis: Derzeit ist dieser Parameter erforderlich, auch wenn er als optional angezeigt wird. Standard: null |
[Tabelle : 6. Parameter]

{#NGQLServ-init_O_O__table_k4t_mnh_ppb}  
<br />

```

```

## NowGraphQLService -- Herausgeber (für Abfrage: GraphQLQuery) {#ariaid-title5}

Erstellt einen Herausgeber, um GraphQL-Daten anzufordern.
Hinweis:  
Diese Methode ist veraltet. Sie sollten stattdessen die Implementierung der Methode „async/wait" verwenden.
{#NGQLServ-publisher_S__table_jsv_5wh_ppb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| für Abfrage | GraphQLQuery | Auszuführende GraphQL-Abfragezeichenfolge. |
[Tabelle : 7. Parameter]

{#NGQLServ-publisher_S__table_jsv_5wh_ppb} {#NGQLServ-publisher_S__table_ksv_5wh_ppb__entry__2}

| Typ | Beschreibung |
|-|-|
| Beliebiger Herausgeber\<Data, NowDataError\> | Erfolg: GraphQL-Datensatz. Fehler: NowDataError |
[Tabelle : 8. Ergebnisse]

{#NGQLServ-publisher_S__table_ksv_5wh_ppb}  
Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    private func fetchArticles() -> AnyPublisher<[Article], ArticleListError> {
      guard let graphQLService = graphQLService else {
        return Fail(error: .invalidGraphQLService).eraseToAnyPublisher()
      }
            
      return graphQLService.publisher(for: GraphQLQuery(query: recentlyPublishedQuery))
        .mapError({ dataError -> ArticleListError in
          .fetchError(dataError)
        })
        .flatMap(dataToArticleList)
        .eraseToAnyPublisher()
    }


