GraphQL REST API를 사용하여 외부 사용자 검색에서 만든 제안 보기

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 소요 시간: 4분
  • GraphQL REST API 엔드포인트에 요청을 제출하여 자체 등록한 외부 사용자의 검색에서 생성된 검색 제안을 검색합니다. 이 엔드포인트는 인증되지 않은 게스트 사용자의 액세스를 허용합니다.

    시작하기 전에

    인스턴스에서 다음 조건이 충족되는지 확인합니다.
    • 도메인 분리 플러그인이 활성화되지 않았습니다. 이 플러그인에 대한 자세한 내용은 도메인 분리 플러그인을 참조하세요.
    • Explicit Roles 플러그인(com.glide.explicit_roles)이 활성화됩니다. 이 플러그인에 대한 자세한 내용은 명시적 역할을 참조하십시오.
    • snc_external 역할을 가진 외부 사용자가 , Now Mobile또는 ServiceNow® 가상 에이전트와 같은 ServiceNow® 서비스 포털검색 제안을 생성하는 검색 애플리케이션에서 검색을 제출했습니다.
    • glide.search.suggestions.allow_guest_user 시스템 속성이 true로 설정됩니다. 시스템 속성 값 설정에 대한 자세한 내용은 을 참조하십시오 시스템 속성 추가.
    외부 사용자 검색 제안을 검색할 검색 애플리케이션의 sys_id 가져옵니다.
    주:
    search_application_admin, agent_workspace_user 또는 workspace_user 역할을 가진 사용자는 검색 애플리케이션 구성[sys_search_context_config] 테이블의 검색 애플리케이션 기록에서 이 sys_id 복사하여 얻을 수 있습니다.

    GraphiQL, Insomnia 또는 Postman 클라이언트와 같은 타사 GraphQL 클라이언트를 다운로드합니다.

    필요한 역할: 없음

    이 태스크 정보

    검색 제안은 직접 등록한 외부 사용자가 수행하는 검색에 대한 제안을 만듭니다. glide.search.suggestions.allow_guest_user 시스템 속성이 true로 설정되면 인증되지 않은 게스트 사용자가 인스턴스의 GraphQL REST API 엔드포인트에 액세스하여 검색 애플리케이션에 대한 외부 사용자 검색 제안을 검색할 수 있습니다.

    이 GraphQL REST API 엔드포인트에는 인증이 필요하거나 적용되지 않습니다.
    주:
    인증되지 않은 게스트 사용자는 전역 도메인에서만 검색 제안을 검색할 수 있습니다. 인스턴스에 도메인 분리가 활성화된 경우 게스트 사용자는 검색 제안을 검색할 수 없습니다.

    프로시저

    1. 타사 GraphQL 클라이언트에서 HTTP POST 메서드를 사용하는 새 요청을 구성합니다.
    2. 요청의 엔드포인트를 인스턴스의 GraphQL REST API 엔드포인트 https://<instance name>.service-now.com/api/now/graphql 으로 설정합니다.
    3. 요청 본문을 다음 GraphQL 쿼리로 설정하고 <search_application_sys_id> 외부 사용자 검색 제안을 검색하려는 검색 애플리케이션의 sys_id으로 바꿉니다.
      {
        GlideSearch_Query {
          suggestions(searchContextConfigId: "<search_application_sys_id>", searchTerm: "") {
            term
            data {
              name
              records {
                type
                columns {
                  label
                  fieldName
                  value
                  displayValue
                }
              }
            }
          }
        }
      }

    결과

    시스템은 다음 예시와 같이 셀프 등록한 외부 사용자가 애플리케이션 검색에서 검색 제안을 JSON 객체로 반환합니다.
    {
      "data": {
        "GlideSearch_Query": {
          "suggestions": {
            "term": "",
            "data": [
              {
                "records": [
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "automatic replies",
                        "value": "automatic replies",
                        "fieldName": "name"
                      }
                    ]
                  },
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "contact group",
                        "value": "contact group",
                        "fieldName": "name"
                      }
                    ]
                  },
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "tablet",
                        "value": "tablet",
                        "fieldName": "name"
                      }
                    ]
                  },
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "laptop",
                        "value": "laptop",
                        "fieldName": "name"
                      }
                    ]
                  },
                  {
                    "type": "POPULAR_QUERY",
                    "columns": [
                      {
                        "label": "name",
                        "displayValue": "new email account",
                        "value": "new email account",
                        "fieldName": "name"
                      }
                    ]
                  }
                ],
                "name": "Popular searches"
              }
            ]
          }
        }
      }
    }