---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Classe NowGraphQLService - iOS

# Classe NowGraphQLService - iOS {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 min. de leitura

A classe NowGraphQLService fornece funções que permitem fazer solicitações usando consultas GraphQL em relação aos dados em sua instância ServiceNow por meio da GraphQL REST API.
{#NowGraphQLServiceiOSAPI__table_vx2_klw_5pb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| configuração | [NowServiceConfiguration](https://servicenow-prod.fluidtopics.net/flpam5S9jLear5y_v4eXdA#NowServiceConfigurationiOSStruct "A estrutura NowServiceConfiguration define informações de configuração para um serviço da feição.") | Definições de configuração fornecidas quando o serviço foi inicializado. |
[Tabela 1. Propriedades]

{#NowGraphQLServiceiOSAPI__table_vx2_klw_5pb}

## NowGraphQLService - executar (consulta: GraphQLQuery) lances assíncronos {#ariaid-title2}

Executa a consulta GraphQL especificada.
{#NGQLServ-execute-async_S__table_sfm_c4h_ppb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| consulta | Cadeia de caracteres | Consulta GraphQL a ser executada. |
[Tabela 2. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Dados | Retornado quando o método é bem-sucedido. Dados de consulta gerados a partir da consulta especificada. |
| NowDataError | Lançado quando o método falha. * `accessToken(AccessTokenProviderError)` * AccessTokenProviderError: o código ou a mensagem de erro do provedor de token de acesso. * accessTokenRetrievalFailed * userSessionError(_ erro: Erro) Lançado quando há um erro no token de acesso. * `attachmentValidation` Lançado quando um anexo falha na validação. * `BadResponse(statusCode: HTTPStatusCode)` * HTTPStatusCode: Código de status recebido da instância. Lançado quando uma solicitação retorna uma resposta inesperada * `canDecodeModel(DecodingError)` * DecodingError: erro de decodificação detectado. Lançado quando um modelo Codable não pode ser decodificado do JSON. * `canDecodeProperty(tipo: qualquer, de: cadeia de caracteres)` * type: tipo encapsulado para decodificar a partir de uma cadeia de caracteres. * from: cadeia de caracteres a ser decodificada para o tipo especificado. Lançado quando um valor encapsulado em cadeia de caracteres não pode ser decodificado do JSON. * `can'tEncodeModel(EncodingError)` * EncodingError: erro de codificação detectado. Lançado quando um modelo Codable não pode ser codificado para JSON. * `canParseResponse` Lançado quando uma resposta da instância não pode ser analisada no formato esperado. * `URL inválido` Lançado quando um URL não pode ser formado. Por exemplo, se a cadeia de caracteres contiver caracteres que são ilegais em um URL ou for uma cadeia de caracteres vazia. * `ausenteAttachmentMetadata` Lançado quando o cabeçalho de metadados do anexo está ausente. * `ausenteConfiguraçãoDeServiço` Lançado quando uma configuração de serviço esperada está ausente. * `ausenteSysID` Lançado quando um parâmetro sys_id esperado está ausente. * `network(NetworkServiceError)` * genericError(cadeia de caracteres) * operaçãoCancelada * serviçoDesabilitado * serverError(Erro) * systemError (Erro) Lançado quando um serviço de rede encontrou um erro. {#NGQLServ-execute-async_S__NowDataErroriOS-ul-enum} |
[Tabela 3. Retorna]

{#NGQLServ-execute-async_S__table_tfm_c4h_ppb}  
O exemplo de código a seguir mostra como chamar este método.

    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(consulta: GraphQLQuery, conclusão: @escaping (resultado\<Data, NowDataError\> )) {#ariaid-title3}

Executa a consulta GraphQL especificada.
{#NGQLServ-execute_S_O__table_sfm_c4h_ppb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| consulta | Cadeia de caracteres | Consulta GraphQL a ser executada. |
| conclusão | @escaping (resultado\<Data, NowDataError\> ) | Manipulador de conclusão a ser executado após a conclusão da consulta. Valores de retorno: * Sucesso: retorna dados de consulta. * Erro: NowDataError {#NGQLServ-execute_S_O__ul_tst_1qh_ppb} |
[Tabela 4. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Nenhum |   |
[Tabela 5. Retorna]

{#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: NowCoreServiceProviding) {#ariaid-title4}

Cria um NowGraphQLService com base nos parâmetros especificados.
{#NGQLServ-init_O_O__table_k4t_mnh_ppb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| configuração | [NowServiceConfiguration](https://servicenow-prod.fluidtopics.net/flpam5S9jLear5y_v4eXdA#NowServiceConfigurationiOSStruct "A estrutura NowServiceConfiguration define informações de configuração para um serviço da feição.") | Parâmetros de configuração a serem usados ao inicializar o serviço, como o ID do pacote da aplicação que se integra ao serviço e o URL da instância ServiceNow que o NowGraphQLService deseja acessar. |
| coreServiceProvider | NowCoreServiceProviding | Opcional. Provedor de serviço principal. Nota: Atualmente, este parâmetro é necessário, embora seja mostrado como opcional. Padrão: nulo |
[Tabela 6. Parâmetros]

{#NGQLServ-init_O_O__table_k4t_mnh_ppb}  
<br />

```

```

## NowGraphQLService - fornecedor (para consulta: GraphQLQuery) {#ariaid-title5}

Cria um fornecedor para solicitar dados GraphQL.
Nota:  
Este método foi descontinuado. Em vez disso, você deve usar a implementação assíncrona/aguardar do método.
{#NGQLServ-publisher_S__table_jsv_5wh_ppb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| para consulta | GraphQLQuery | Cadeia de caracteres de consulta GraphQL a ser executada. |
[Tabela 7. Parâmetros]

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

| Tipo | Descrição |
|-|-|
| Qualquer publicador\<Data, NowDataError\> | Sucesso: conjunto de dados GraphQL. Falha: NowDataError |
[Tabela 8. Retorna]

{#NGQLServ-publisher_S__table_ksv_5wh_ppb}  
O exemplo de código a seguir mostra como chamar esta função.

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


