---
sourceDocument: Xanadu Now Platform の管理
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/platform-administration

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu Now Platform の管理

ft:clusterId :

    - platadm

bundleId :

    - platadm

workflow :

    - Platform


---

# GraphQL REST API を使用して外部ユーザー検索から作成された提案を表示する

# GraphQL REST API を使用して外部ユーザー検索から作成された提案を表示する {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：4分

GraphQL REST API エンドポイントに要求を送信して、自己登録された外部ユーザーによる検索から作成された検索提案を取得します。このエンドポイントは、認証されていないゲストユーザーによるアクセスを許可します。

## 始める前に

インスタンスで次の条件が満たされていることを確認します。

* ドメインセパレーションプラグインが有効になっていません。このプラグインの詳細については、「[ドメインセパレーションプラグイン](https://www.servicenow.com/docs/access?context=domain-sep-plugin&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US)」を参照してください。
* 明示的なロールプラグイン (com.glide.explicit_roles) が有効になっています。このプラグインの詳細については、「[明示的なロール](https://www.servicenow.com/docs/access?context=explicit-roles&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US)」を参照してください。
* snc_external ロールを持つ外部ユーザーが、ServiceNow® サービスポータル、Now Mobile、ServiceNow® 仮想エージェント などの検索提案を生成する検索アプリケーションで検索を送信しました。
* glide.search.suggestions.allow_guest_user システムプロパティが true に設定されています。システムプロパティ値の設定の詳細については、「[システムプロパティを追加する](https://servicenow-prod.fluidtopics.net/3aDH9ewME8EN1MWij~k8Rg#t_AddAPropertyUsingSysPropsList "プロパティを追加または作成してシステムの動作を制御します。")」を参照してください。
{#view-ext-user-search-suggestions__ul_fg1_wfq_wpb}  
外部ユーザーの検索提案を取得したい検索アプリケーションの sys_id を取得します。  
注:  
search_application_admin、agent_workspace_user、または workspace_user ロールを持つユーザーは、検索アプリケーション構成 \[sys_search_context_config\] テーブルの検索アプリケーションレコードからこの sys_id をコピーして取得できます。

GraphiQL、Insominia、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"
              }
            ]
          }
        }
      }
    }


