---
sourceDocument: 호주 API 참조
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/api-reference

 Release :

    - australia

ft:locale :

    - ko-KR

ft:publication_title :

    - 호주 API 참조

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NowGraphQLService 클래스 - iOS

# NowGraphQLService 클래스 - iOS {#ariaid-title1}

* 릴리스 버전: Australia
* 
* 업데이트 날짜 2026년 03월 12일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 6분

NowGraphQLService 클래스는 GraphQL REST API를 통해 인스턴스의 ServiceNow 데이터에 대해 GraphQL 쿼리를 사용하여 요청할 수 있는 함수를 제공합니다.
{#NowGraphQLServiceiOSAPI__table_vx2_klw_5pb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 구성 | [NowService구성](https://servicenow-prod.fluidtopics.net/M3IfRLAWtSzjLKNYBH_PRQ#NowServiceConfigurationiOSStruct "NowServiceConfiguration 구조는 기능 서비스에 대한 구성 정보를 정의합니다.") | 서비스가 초기화될 때 제공된 구성 설정입니다. |
[표 1. 속성]

{#NowGraphQLServiceiOSAPI__table_vx2_klw_5pb}

## NowGraphQLService - execute(query: GraphQLQuery) 비동기 throw {#ariaid-title2}

지정된 GraphQL 쿼리를 실행합니다.
{#NGQLServ-execute-async_S__table_sfm_c4h_ppb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 쿼리 | 문자열 | 실행할 GraphQL 쿼리입니다. |
[표 2. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 데이터 | 메서드가 성공하면 반환됩니다. 지정된 쿼리에서 생성된 쿼리 데이터입니다. |
| NowDataError | 메서드가 실패할 때 throw됩니다. * `accessToken(AccessTokenProviderError)` * AccessTokenProviderError: 액세스 토큰 제공자의 오류 코드 또는 메시지입니다. * accessTokenRetrievalFailed * userSessionError(_ error: Error) 접근 토큰에 오류가 있을 때 발생합니다. * `첨부 확인` 첨부 파일이 확인에 실패할 때 발생합니다. * `badResponse(statusCode: HTTPStatusCode)` * HTTPStatusCode: 인스턴스에서 받은 상태 코드입니다. 요청에서 예기치 않은 응답을 반환할 때 발생 * `cannotDecodeModel(DecodingError)` * DecodingError: 디코딩 오류가 탐지되었습니다. 코드화 가능한 모델을 JSON에서 디코딩할 수 없을 때 발생합니다. * `cannotDecodeProperty(type: Any, from: String)` * type: 문자열에서 디코딩할 래핑된 유형입니다. * from: 지정된 유형으로 디코딩할 문자열입니다. 문자열로 래핑된 값을 JSON에서 디코딩할 수 없을 때 발생합니다. * `cannotEncodeModel(EncodingError)` * EncodingError: 인코딩 오류가 탐지되었습니다. 코드 가능한 모델을 JSON으로 인코딩할 수 없는 경우 발생합니다. * `cannotParse응답` 인스턴스의 응답을 예상 형식으로 구문 분석할 수 없을 때 발생합니다. * `잘못된 URL` URL을 구성할 수 없을 때 발생합니다. 예를 들어 문자열에 URL에서 잘못된 문자가 포함되어 있거나 빈 문자열인 경우입니다. * `missingAttachmentMetadata` 첨부 파일 메타데이터 헤더가 누락되었을 때 발생 * `missingServiceConfiguration` 예상 서비스 구성이 누락될 때 발생합니다. * `MissingSysID` 예상 sys_id 매개변수가 누락되었을 때 발생합니다. * `네트워크(NetworkServiceError)` * genericError(문자열) * operationCanceled * serviceDisabled * serverError(오류) * systemError(오류) 네트워크 서비스에 오류가 발생할 때 발생합니다. {#NGQLServ-execute-async_S__NowDataErroriOS-ul-enum} |
[표 3. 반환]

{#NGQLServ-execute-async_S__table_tfm_c4h_ppb}  
다음 코드 예제에서는 이 메서드를 호출하는 방법을 보여 줍니다.

    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, completion: @escaping (Result\<Data, NowDataError\>)) {#ariaid-title3}

지정된 GraphQL 쿼리를 실행합니다.
{#NGQLServ-execute_S_O__table_sfm_c4h_ppb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 쿼리 | 문자열 | 실행할 GraphQL 쿼리입니다. |
| 완료 | @escaping(결과\<데이터, NowDataError\>) | 쿼리가 완료된 후 실행할 완성 핸들러입니다. 반환 값: * 성공: 쿼리 데이터를 반환합니다. * 오류: NowDataError {#NGQLServ-execute_S_O__ul_tst_1qh_ppb} |
[표 4. 매개변수]

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

| 유형 | 설명 |
|-|-|
| 안 함 |   |
[표 5. 반환]

{#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}

지정된 매개변수를 기반으로 NowGraphQLService를 작성합니다.
{#NGQLServ-init_O_O__table_k4t_mnh_ppb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 구성 | [NowService구성](https://servicenow-prod.fluidtopics.net/M3IfRLAWtSzjLKNYBH_PRQ#NowServiceConfigurationiOSStruct "NowServiceConfiguration 구조는 기능 서비스에 대한 구성 정보를 정의합니다.") | 서비스와 통합되는 애플리케이션의 번들 ID 및 NowGraphQLService가 액세스하려는 인스턴스의 ServiceNow URL과 같이 서비스를 초기화할 때 사용할 구성 매개변수입니다. |
| coreServiceProvider | NowCoreService제공 | 옵션입니다. 핵심 서비스 제공자입니다. 주: 현재 이 매개변수는 선택 사항으로 표시되지 더라도 필수입니다. 기본값: nil |
[표 6. 매개변수]

{#NGQLServ-init_O_O__table_k4t_mnh_ppb}  
<br />

```

```

## NowGraphQLService - 게시자(쿼리용: GraphQLQuery) {#ariaid-title5}

GraphQL 데이터를 요청하는 게시자를 생성합니다.
주:  
이 방법은 더 이상 사용되지 않습니다. 대신 메서드의 async/await 구현을 사용해야 합니다.
{#NGQLServ-publisher_S__table_jsv_5wh_ppb__entry__3}

| 이름 | 유형 | 설명 |
|-|-|-|
| 쿼리용 | GraphQLQuery | 실행할 GraphQL 쿼리 문자열입니다. |
[표 7. 매개변수]

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

| 유형 | 설명 |
|-|-|
| AnyPublisher\<Data, NowDataError\> | 성공: GraphQL 데이터 세트. 실패: NowDataError |
[표 8. 반환]

{#NGQLServ-publisher_S__table_ksv_5wh_ppb}  
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.

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


