GraphQL REST API を使用して外部ユーザー検索から作成された提案を表示する
GraphQL REST API エンドポイントに要求を送信して、自己登録された外部ユーザーによる検索から作成された検索提案を取得します。このエンドポイントは、認証されていないゲストユーザーによるアクセスを許可します。
始める前に
インスタンスで次の条件が満たされていることを確認します。
- ドメインセパレーションプラグインが有効になっていません。このプラグインの詳細については、「ドメインセパレーションプラグイン」を参照してください。
- 明示的なロールプラグイン (com.glide.explicit_roles) が有効になっています。このプラグインの詳細については、「明示的なロール」を参照してください。
- snc_external ロールを持つ外部ユーザーが、ServiceNow® サービスポータル、Now Mobile、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、Insominia、Postman クライアントなどのサードパーティの GraphQL クライアントをダウンロードします。
必要なロール:なし
このタスクについて
検索提案は、自己登録した外部ユーザーが実行する検索の提案を作成します。glide.search.suggestions.allow_guest_user システムプロパティが true に設定されている場合、認証されていないゲストユーザーは、インスタンスの GraphQL REST API エンドポイントにアクセスして、検索アプリケーションの外部ユーザー検索提案を取得できます。
この GraphQL REST API エンドポイントでは認証は不要であり、強制されることもありません。
注:
認証されていないゲストユーザーは、グローバルドメインからのみ検索提案を取得できます。インスタンスでドメインセパレーションが有効になっている場合、ゲストユーザーは検索提案を取得できません。
手順
タスクの結果
次の例に示すように、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"
}
]
}
}
}
}