バージョン:Rome
REST データ連携

受信 REST データ連携

記事 (1/18)

ServiceNow における受信 REST データ連携の目標

このモジュールでは、次のことを学習します。

  • REST API Explorer およびテーブル API を使用して、ServiceNow テーブルのレコードを操作します

    • パス パラメーター
    • クエリパラメータ
    • ヘッダー
    • HTTP ステータス
    • 応答本文
  • 受信 REST 要求の ServiceNow ユーザーを作成する

  • クロスオリジンリソース共有 (CORS) ルールを作成して、リソースから許可される HTTP メソッドを選択する

  • テーブルに対する Web サービスのアクセスを無効化する

  • ServiceNow にデータ連携するサードパーティアプリケーションで使用するコードサンプルを作成する

記事 (2/18)

この学習モジュールについて

重要:この学習モジュールの内容は、Quebec ServiceNow リリース用に最後に更新されたもので、Rome リリースでは更新されていません。Rome リリースとこの学習モジュールのコンテンツとの間に違いが見られる場合があります。

Global アプリケーションは、アプリケーション作成の基になる概念とプロセスを紹介し、デモンストレーションするために、この学習モジュール全体で使用されます。受講者は Global アプリケーションを構築しません。

演習は、次の 3 つの方法で示されます。

  • ナビゲーションペインの [演習] アイコン。
  • ページ上部の [演習] アイコンと「演習」という単語。
  • ページタイトルの「演習」または「課題」という単語。

ナビゲーションとページタイトルに、強調表示された演習ページのアイコンと演習プリフィックスが表示された、演習ページの上部。

記事 (3/18)

Web サービスプロバイダーとしての ServiceNow

Web サービスにより、アプリケーションはネットワーク経由で他のソフトウェアアプリケーションに接続し、プロバイダー (サーバー) とコンシューマー (クライアント) の間で情報を交換することができます。

Web サービスコンシューマー (クライアント) が Web サービスプロバイダー (サーバー) に情報を要求します。Web サービスプロバイダーが要求を処理し、ステータスコードと応答本文を返します。応答本文が返されると、Web サービスコンシューマーは応答本文から情報を抽出し、抽出されたデータに対してアクションを実行します。

Web サービスはプロバイダーに情報を要求します。プロバイダーは応答を返します。

受信要求では、サードパーティアプリケーションが ServiceNow API を介してアクションを要求します。ServiceNow API の例は次のとおりです。

  • テーブル API:テーブルのレコードを作成、読み取り、更新、削除します
  • 添付ファイル API:添付ファイルをアップロードおよび照会します
  • メール API:REST を使用してメールメッセージを送受信します
    ServiceNow REST APIs を使用した外部アプリケーション要求アクション

ServiceNow REST APIs の完全なセットは、docs.servicenow.com サイトで文書化されています。[次のトピック (Next Topic)] ボタンと [前のトピック (Previous Topic)] ボタンを使用すると、API 間を移動できます。

REST API 機能は、すべてのインスタンスでデフォルトで有効になっています。

記事 (4/18)

REST API Explorer の概要

Web サービスとデータ連携する場合、開発者は次の情報を把握している必要があります。

  • エンドポイント
  • メソッド
  • 変数

ServiceNow の REST API Explorer は、ServiceNow インスタンスへの API 要求を作成してテストするためのアプリケーションです。

REST API Explorer は、rest_api_explorer ロールまたは admin ロールを持つユーザーが使用できます。REST API Explorer を開くには、Application Navigator で [REST] > [REST API Explorer] を開きます。

初めて REST API Explorer を起動する場合、ServiceNow のようこそ画面が表示されます。

REST API Explorer の起動画面は、ユーザーごとに 1 回表示されます。

REST API Explorer の構成要素は次のとおりです。

  • 名前空間API 名API バージョンREST メソッドを選択するためのペイン

  • エンドポイントを表示および設定するためのペイン

  • 選択した API のドキュメントにアクセスするためのメニューと API Analytics ダッシュボード

  • エンドポイントをテストするセクション (画像には示されていません)

    REST API Explorer 構造

    重要:REST API Explorer は、インスタンス上のテーブルを直接操作します。REST API Explorer は、レコードの削除、更新、挿入を実行できます。REST API Explorer は、非本番インスタンスで使用する必要があります。本番インスタンスでは REST API Explorer を慎重に使用してください。

記事 (5/18)

API の選択

REST API Explorer フォームの [要求を準備] セクションのフィールドは、選択されている名前空間API 名API バージョンREST メソッドによって決まります。

  • 名前空間:Web サービススコープを選択します

    • Global:グローバルスコープ付き API
    • now:ServiceNow によって提供される REST APIs
    • private_scope_name:プライベートスコープのアプリケーションで API (スクリプト化された Web サービス) に使用される名前空間形式
  • API 名:REST API Explorer で構成およびテストする API を選択します

  • API バージョン:特定の API バージョンを選択するか、最新のバージョンを選択します

  • メソッド名前空間API 名API バージョンに基づいて、使用可能な REST メソッドのリストから選択します。矢印は選択したメソッドを示します。

    名前空間、API、API バージョン、REST メソッドを選択します。

集計 API の場合、使用できるメソッドは 1 つだけです。

REST API Explorer に、選択した項目に関する情報が表示されます。詳細については、REST API Explorer メニューの [API ドキュメント] メニューアイテムを選択してください。

REST API Explorer に、選択した API に関する情報が表示されます。

記事 (6/18)

要求パラメーター

要求パラメーターは次の要素から構成されています。

  • パスパラメーター
  • クエリパラメーター
  • 要求ヘッダー

パスパラメーター

パスパラメーターのリストは、エンドポイント URL によって異なります。パスパラメーターは、エンドポイント URL の中の中括弧で囲まれた部分です。要求が送信されたときに、パスパラメーターフィールドに設定された値がエンドポイント URL に挿入されます。

パスパラメーターは、URI の中の中括弧で示されています。パスパラメーターには値を指定する必要があります。

重要:要求によって参照されるテーブルがデータベースビューである場合、結果を返すメソッドは GET のみです。データベースビューは読み取り専用です。

クエリパラメーター

要求パラメーターは、要求が送信されたときに REST API Explorer によってエンドポイント URL に追加されます。クエリパラメーターは、選択した API メソッドに固有のものです。

クエリパラメーターは選択したメソッドによって決まります

API のデフォルトのクエリパラメーターのセットが表示されます。クエリパラメーターを追加するには、[クエリパラメーターを追加] ボタンを使用して、新しいパラメーターをクエリに追加します。API のクエリパラメーターの完全なリストと詳細な説明については、REST API Explorer メニューの [API ドキュメント] メニューアイテムを選択してください。

要求ヘッダー

要求ヘッダーは、要求と応答の形式を定義します。

要求と応答の形式を設定します

[ヘッダーを追加] ボタンを使用して、要求にヘッダーを追加します。ServiceNow API の場合、次の 2 つのヘッダーパラメーターを追加すると便利です。

  • X-WantSessionNotificationMessagestrue に設定すると、既存のセッションでまだ消費されていない通知が返されます。
  • X-WantSessionDebugMessages:セッションデバッグを有効にし、ヘッダー値を true に設定すると、セッションデバッグログが返されます。
    X-WantSessionDebugMessages ヘッダーの追加

重要:要求ヘッダーでは、開発者が現在ログインしているユーザーとして要求を構成する必要があります。ユーザーは、要求されているレコードにアクセスする権限を持っている必要があります。権限がない場合、要求は拒否されます。

記事 (7/18)

クエリパラメーターの詳細

クエリパラメーターには、次のようなさまざまなタイプの値を含めることができます。

  • エンコードクエリ
  • フィールド名
  • true/false/all

エンコードクエリ

sysparm_querysysparm_having などの一部のクエリパラメーターは、エンコードクエリを値として受け入れます。エンコードクエリは、手動で簡単に作成することはできません。エンコードクエリの構文は文書化されていないため、ServiceNow でエンコードクエリを構築します。ServiceNow ブラウザーのメインウィンドウで、Application Navigator を使用して対象のテーブルのリストを開きます。リストを開くモジュールが存在しない場合は、Application Navigator のフィルターナビゲーターで「<table_name>.list」と入力します。

フィルターを使用してクエリ条件を作成します。

複雑なクエリ

[実行] ボタンをクリックして、クエリを実行します。ブレッドクラムを右クリックして、[クエリのコピー] を選択します。

注意:コピーされたクエリには、右クリックした条件と左側のすべての条件が含まれます。クエリ全体をコピーするには、<右端の条件> を右クリックします。

クエリのコピー

REST API Explorer に戻り、エンコードクエリをクエリパラメーターに貼り付けます。

コピーしたクエリをクエリフィールドに貼り付けます

フィールド名

sysparm_group_by などの一部のクエリパラメーターは、フィールド名またはカンマで区切られたフィールド名のリストを受け入れます。開発者は、フィールドラベルではなくフィールドを渡す必要があります。

スラッシュバケットからフィールドを選択するには、フィールドの [編集] ボタン ([編集] ボタンを使用して、フィールドのスラッシュバケットを開きます) をクリックします。

スラッシュバケットからフィールドを追加します

フィールド名は REST API Explorer に表示されます

フィールド名ではドット連結が許可されています (caller_id.title など)。

true/false/all

REST 呼び出しがテーブルから参照フィールドを返す場合、開発者は戻り値の形式を選択できます。

  • 表示値を返すには、値を true に設定します
  • sys_id を返すには、値を false に設定します
  • 表示値と sys_id
    の両方を返すには、値を all に設定します
    sys-id および表示値の両方を返すには、値を all に設定します

記事 (8/18)

テスト

REST メソッドを構成したら、[送信] ボタンをクリックして、要求を API に送信します。

[送信] ボタンは REST API Explorer フォームの下部にあります

REST API Explorer は、要求がサードパーティアプリケーションからのものであるかのように応答します。

  • 要求
  • 応答
  • 応答本文
    ServiceNow は、要求がサードパーティアプリケーションからのものであるかのように応答を返します。

記事 (9/18)

ServiceNow API 要求

REST API Explorer は、開発者が指定した設定を使用して ServiceNow API に送信する要求を作成します。

要求のパスパラメーター

[要求] セクションには、ServiceNow Web サービスに送信する HTTP メソッド / URI が表示されます。メソッドは、選択した API からのものです。パスパラメーター値は、要求を構成するときに設定されます。

パスパラメーターが挿入された HTTP メソッド

要求のクエリパラメーター

クエリパラメーターは URI に追加されます。次の例では、スペースの制限により URI が切り捨てられています。REST API Explorer で完全な URI を表示するには、水平方向にスクロールします。

クエリパラメーターは URI に追加されます

要求のヘッダー

REST ヘッダーは、API 要求と応答に関連付けられたメタデータです。要求ヘッダー設定が要求に表示されます。

解決済みフォームの要求ヘッダー設定。

記事 (10/18)

ServiceNow API 応答

ServiceNow API 応答は次の要素から構成されています。

  • HTTP ステータスコード
  • 応答ヘッダー
  • 応答本文

HTTP ステータスコード

ServiceNow API は、標準的な HTTP ステータスコードを返します。一般的には次のとおりです。

  • 1xx:情報提供目的
  • 2xx:成功
  • 3xx:リダイレクト
  • 4xx:クライアントエラー
  • 5xx:サーバーエラー
    応答コードは、トランザクションの成功または失敗を示します。

HTTP ステータスコードは、REST サービスプロバイダーとのやり取りを参照します。ステータスコードは、要求されたデータに関する情報は一切提供しません。データが返されない場合でも、REST トランザクション要求は正常に完了します。

ステータスコード 200 は、データが返されたことを意味するものではありません

応答ヘッダー

[ヘッダー] セクションには、返されたヘッダーとその値が表示されます。

応答ヘッダーと値

応答本文

応答本文は、ServiceNow Web サービスプロバイダーから返されるデータオブジェクトです。応答本文は、選択した API によって異なります。この例では、集計 API は、重大またはの優先度を持つ過去 1 年間の未解決インシデントレコードの数を返します。結果は、[アサイン先] フィールドでユーザー別にグループ化されます。

昨年の Beth のインシデントのうち優先度が「重大」のものと「高」のもの

Beth Anglin には、重大またはの優先度を持つ未解決のインシデントが過去 1 年間で 3 件あります。この場合、assigned_to フィールドに値 (sys_id) と display_value の両方が含まれていることに注意してください。

データタイプと戻り値

  • 暗号化テキスト:データベース値は暗号化されていますが、表示値はユーザーの暗号化コンテキストに基づいて暗号化されていません。
  • 参照フィールド:データベース値は sys_id であり、表示値は人間が判読できる名前です。
  • 日付フィールド:データベース値は UTC 形式であり、表示値はユーザーのタイムゾーンに基づいています。
  • 選択肢フィールド:データベース値は数値の場合もありますが、表示値はよりわかりやすいです。
  • 通貨フィールド:REST 要求を実行すると、返される通貨の値はユーザーのロケールに基づいて現地通貨に変換されます。データを挿入する場合、変換は実行されません。

演習 (11/18)

演習:API 要求を準備してテーブル API に送信する

この演習では、REST API Explorer を使用して ServiceNow テーブル API に対する要求を準備します。[簡単な説明] フィールドに「メール (email)」という文字列を含むすべてのアクティブなインシデントテーブルレコードを返す要求を作成します。API 要求もテストします。

注意:PDI が自動的に App Engine Studio を開く場合は、PDI にアクセスするために使用するユーザーロールを変更する必要があります。演習を完了するには、[管理者] ユーザーロールに切り替えます

準備 - エンコードされたクエリの取得

  1. ServiceNow ブラウザーのメインウィンドウで、Application Navigator を使用して [インシデント] > [開く] を開きます。
  2. インシデントリストの [ブレッドクラム] リストで [フィルターの表示/非表示] アイコン ([フィルター] アイコンは [ブレッドクラム] リストにあります。 条件ビルダーが開きます。) をクリックし、条件ビルダーを開きます。
  3. 次に示されている条件を作成します。
    [簡単な説明] フィールドに「メール (email)」という文字列が含まれているアクティブなインシデントを探します。
  4. [実行] ボタンをクリックします。
  5. 返されるレコードの数に注意して、その簡単な説明を確認します。
  6. ブレッドクラムの [簡単な説明] に「メール (email)」が含まれている部分を右クリックし、[クエリのコピー] メニューアイテムを選択します。
    クエリのコピー

テーブル API クエリの構成

  1. ServiceNow ブラウザーのメインウィンドウで、Application Navigator を使用して [システム Web サービス] > [REST] > [REST API Explorer] を開きます。
  2. REST API Explorer で、次の API を構成します。
      名前空間 now
      API 名 テーブル API
      API バージョン v2
      メソッド (このフィールドにはラベルがありません) テーブルからレコードを取得 (GET)
  3. 次のパスパラメーターを設定します。
      テーブル名 インシデント (incident)
  4. クエリパラメーターを設定します。
      sysparm_query <この演習の準備セクションでコピーしたエンコードクエリをペースト>
      sysparm_display_value true
      sysparm_limit 10 (テスト結果は 10 件に制限されています)
  5. sysparm_display_value を true に設定した場合に考えられるパフォーマンスへの影響について確認します。
    1. REST API Explorer のメニューをクリックし、[API ドキュメント] メニューアイテムを選択します。
    2. ドキュメントサイトで、適切な ServiceNow バージョンのリンクをクリックします。
    3. テーブル API のドキュメントサイトページで、ページの右側にある [このページについて] リストから [テーブル API:GET /now/table/{tableName}] を選択します。
    4. sysparm_display_value の説明までスクロールし、注意事項を読みます。個人開発者インスタンスのデータセットは小さいため、この値を true に設定してもパフォーマンスの問題は発生しません。
  6. REST API Explorer に戻り、[sysparm_fields] リストにフィールドを追加します。
    1. [sysparm_fields] フィールドの [編集] ボタン ([編集] ボタン) をクリックします。
    2. スラッシュバケットが開いたら、[番号] の入力を開始するか、[番号] フィールドが表示されるまで下にスクロールします。
    3. [番号] フィールドをクリックし、[追加] ボタン ([追加] ボタン) をクリックします。
    4. [問い合わせユーザー][簡単な説明][優先度] の各フィールドも追加します。
    5. [保存] ボタンをクリックします。
      [sysparm_fields] リストのフィールド

質問[sysparm_fields] リストのフィールド名がスラッシュバケットで選択したものと異なるのはなぜですか?

回答:スラッシュバケットにはフィールドラベルが表示されます。[sysparm_fields] リストにはフィールド名が表示されます。

要求ヘッダーの構成

  1. REST API Explorer で [要求ヘッダー] セクションまでスクロールし、ヘッダーフィールドが次に示すように設定されていることを確認します。
    演習の要求ヘッダー設定は、要求形式と要求応答の両方で application/json です

質問:この演習の準備セクションで、クエリによって返されるレコードの数を確認しました。この API 要求によって同じ数のレコードが返されると思いますか。理由を説明してください。

回答:REST API Explorer は、構成に応じて最大 10 件のインシデントレコードを返します。クエリが返すレコードが 10 件未満の場合、REST クエリはそのクエリのすべてのレコードを返します。クエリが 10 件を超えるレコードを返した場合、一部のレコードは表示されません。

API 要求のテスト

  1. [送信] ボタンをクリックします。
  2. 応答が返されたら、ステータスコードを確認します。コードは 200 である必要があります。
  3. 返される結果はオブジェクトのアレイです。各オブジェクトは、[インシデント] テーブルのレコードです。応答本文を調べて、返されたレコードを確認します。それらは予期したレコードでしょうか?
  4. 返されるレコードでは、caller_id オブジェクトにリンクが含まれています。返されたレコードのいずれかについて、リンクをコピーして新しいブラウザータブに貼り付けます。リンクはどのレコードを開くでしょうか?
    caller_id オブジェクトはインシデントレコードオブジェクトの一部です

sysparm_exclude_reference_link クエリパラメーターのテスト

  1. REST API Explorer の [クエリパラメーター] セクションにスクロールして戻り、sysparm_exclude_reference_link パラメーターを true に設定します。
  2. もう一度 [送信] ボタンをクリックします。
  3. 応答本文に戻り、応答の形式を確認します。

質問sysparm_exclude_reference_link を true に設定した場合、応答本文はどのように変更されましたか?

回答:返されるレコードオブジェクトの caller_id プロパティが、オブジェクトではなく文字列になりました。

参照リンクを除外すると、関連レコードへのリンクが削除されます

sysparm_fields クエリパラメーターのテスト

  1. REST API Explorer の [クエリパラメーター] セクションにスクロールして戻り、sysparm_fields パラメーターの内容を削除します。
    sysparm_fields パラメーターに値がありません
  2. もう一度 [送信] ボタンをクリックします。
  3. 応答本文に戻り、応答の形式を確認します。

質問sysparm_fields クエリパラメーターに値がない場合、[インシデント] テーブルレコードのいずれかのフィールドが返されますか?その場合、どのフィールドですか?

回答sysparm_fields クエリパラメーターに値がない場合、レコードのすべてのフィールドが返されます。

演習 (12/18)

演習:セッションデバッグを取得するためのヘッダーを追加する

この演習では、X-WantSessionDebug ヘッダーを [インシデント] テーブルの GET 要求に追加します。

準備 - クエリの作成

  1. 前回の演習で REST API Explorer を開いていなかった場合は、ここで開きます。
  2. テーブル API のクエリを作成:
    番号のフィールドと簡単な説明のフィールドを返す [インシデント] テーブルのクエリを作成します。要求を 1 レコードに制限します。

ヘッダーの追加

  1. REST API Explorer で [要求ヘッダー] セクションまでスクロールします。
  2. [ヘッダーを追加] ボタンをクリックします。
  3. 新しいヘッダーを構成します。
      名前 X-WantSessionDebugMessages
    1. true
      X-WantSessionDebugMessages の値は true です。
  4. このヘッダーが結果を返すようにするには、セッションデバッグを有効にする必要があります。SQL クエリのセッションデバッグを有効にします。
    1. 個人開発者インスタンスを新しいブラウザータブで開きます。これにより、REST API Explorer で指定した構成が失われることがなくなります。
    2. Application Navigator を使用して、[システム診断] > [セッションのデバッグ] > [SQL のデバッグ] を有効にします。デバッグが有効になります。

ヘッダーのテスト

  1. REST API Explorer に戻り、[送信] ボタンをクリックします。
  2. 応答本文session オブジェクトを確認します。
  3. [SQL のデバッグ] を有効にした ServiceNow ブラウザーウィンドウに戻り、Application Navigator で [システム診断] > [セッションのデバッグ] > [すべて無効化] を選択して、セッションのデバッグを無効にします。
  4. Application Navigator で [システム診断] > [セッションのデバッグ] > [セキュリティのデバッグ] を選択して、セキュリティデバッグを有効にします。
  5. REST API Explorer に戻り、要求を再送信します。
  6. 応答本文の session オブジェクトを確認します。アクセス制御評価は session オブジェクトに含まれます。
    アクセス制御評価はセッションオブジェクトに記録されます
  7. [セキュリティのデバッグ] を設定した ServiceNow ブラウザーウィンドウに戻り、セッションのデバッグを無効にします。Application Navigator で [システム診断] > [セッションのデバッグ] > [すべて無効化] を選択します。

記事 (13/18)

受信要求へのセキュリティの追加

受信 API 要求にセキュリティを追加するための戦略は次のとおりです。

  • 受信要求専用のユーザーを作成する
  • テーブルに対する Web サービスのアクセスを許可しない
  • CORS ルールを作成する

API 要求ユーザーの作成

ユーザーレコードに [Web サービスへのアクセスのみ] オプションが設定されているユーザーは、ServiceNow UI にログインできません。このオプションでは、ユーザー資格情報を API 接続の許可にのみ使用できます。このオプションを設定するには、[ユーザー管理] > [ユーザー] モジュールを使用して編集するユーザーレコードを開きます。

ユーザーレコードで [Web サービスへのアクセスのみ] オプションを選択します。

API 要求ユーザーには、API 要求によって要求されたレコードにアクセスするために必要なロールが付与されている必要があります。

テーブルに対する Web サービスのアクセスを許可しない

管理者は、テーブルへの Web サービスのアクセスを無効にすることができます。テーブルレコードで [アプリケーションアクセス] セクションを開き、[Web サービスでのやり取りを許可] オプションの選択を解除します。このオプションが選択されて (オンになって) いない限り、テーブルでは REST 要求が受け入れられません。このオプションを設定するには、[システム定義] > [テーブル] モジュールを使用して編集するテーブルレコードを開きます。

Web サービス要求を許可しない場合は、[Web サービスでのやり取りを許可] オプションの選択を解除します

重要:REST API Explorer はこの設定を無視します。REST API Explorer は、[Web サービスでのやり取りを許可] オプションを無効にした状態でテーブルを操作できます。

記事 (14/18)

CORS ルール

クロスオリジンリソース共有 (CORS) ルールは、特定の REST API エンドポイントにアクセスできるドメインを制御します。CORS ルールを作成するには、Application Navigator を使用して [システム Web サービス] > [REST] > [CORS ルール] を開きます。

この例では、リソース https://www.test-cors.orgGET メソッドを使用してのみテーブル API にアクセスできます。

https://www.test-cors.org を使用して CORS ルールをテストできます

  • REST API:CORS ルールが適用される REST API。
  • ドメイン:CORS ルールのドメイン。IP アドレスまたはドメインパターンを使用してドメインを指定します。
  • 最大経過時間:クライアントセッションをキャッシュする秒数。最初の CORS 要求の後、指定された時間内に出された同じクライアントからの追加の要求には、プリフライト メッセージは必要ありません。値を指定しない場合、デフォルト値の 0 は、すべての要求にプリフライトメッセージが必要であることを示します。
  • HTTP メソッド:許可されるメソッド。
  • HTTP ヘッダー:応答で送信する HTTP ヘッダーのカンマ区切りリスト。指定されたヘッダーは、Access-Control-Expose-Headers ヘッダーに追加されます。

ドメインを指定する場合、次のような多数の要件があります。

  • 先頭は http:// または https:// です。
  • IP アドレスまたはドメインパターンである
  • ワイルドカードを 1 つだけ含むことができる*

docs.servicenow.com サイトで CORS ドメインの要件の完全なリストを確認してください。

重要:CORS ルールは REST API Explorer ではテストできません。

記事 (15/18)

コードサンプル

REST API Explorer は、ServiceNow API とデータ連携するためのコードサンプルを、一般的な複数の言語で作成します。

  • ServiceNow スクリプト
  • cURL
  • Python
  • Ruby
  • JavaScript
  • Perl
  • PowerShell

コードサンプルを作成するには、REST API Explorer のリンクをクリックします。

必要な言語のリンクをクリックします。

コピーするコードサンプルを強調表示するには、[スニペットの選択] ボタンをクリックします。

[スニペットの選択] ボタン

コードサンプルを強調表示した後、コードサンプルをクリップボードにコピーします。

アイテムをクリップボードにコピーします

すべてのコードサンプルで、本物ではない資格情報が使用されています。アプリケーションでスクリプトを使用して ServiceNow とデータ連携する前に、有効な資格情報を使用するようにコードを更新してください。

記事 (16/18)

「受信 REST データ連携」の理解度チェック

ここでは、受信 REST データ連携についての理解度を確認できます。自分の進行状況を評価するには、次の質問が役立ちます。質問ごとに回答を決定し、質問の任意の場所をクリックして回答を表示します。

質問:正誤問題?受信 REST データ連携では、ServiceNow が Web サービスプロバイダーです。


回答:正解は正しいです。


質問:ServiceNow インスタンスに対する API 要求を作成してテストするために使用する ServiceNow のアプリケーションは次のどれですか?

  1. REST API Provider
  2. REST API Explorer
  3. REST Message Explorer
  4. REST Request Builder
  5. REST Request Explorer


回答:正解は 2. REST API Explorer です。


質問:REST API Explorer の [要求を準備] セクションで使用できるフィールドを決定する際に選択「しない」のは次のどれですか?

  1. パスパラメーター
  2. メソッド
  3. API 名
  4. 名前空間
  5. API バージョン


回答:正解は 1. パスパラメーターです。名前空間API 名API バージョンメソッドを選択して、[要求を準備] セクションで使用できるフィールドを決定します。


質問:強調表示されたアイテムは、どの値タイプの例ですか?

この画像は /api/now/table/{tableName}/{sys_id} にアクセスする PUT メソッドを持つテーブル API の URL を示しています。{tableName}/{sys_id} の部分がハイライト表示されています。

  1. 要求パラメーター
  2. 要求ヘッダー
  3. クエリパラメーター
  4. パスパラメーター
  5. 応答ヘッダー


回答:正解は 4. パスパラメーターです。


質問:正誤問題?すべてのクエリパラメーターは、エンコードクエリを値として受け入れます。


回答:正解は誤りです。クエリパラメーターには、エンコードクエリ、フィールド名、true/false/all など、さまざまなタイプの値を含めることができます。


質問:ServiceNow インスタンスに対する構成済みの Web サービス呼び出しをテストするプロセスについて説明しているのは次のうちどれですか。

  1. [送信] ボタンをクリックして結果を表示する。
  2. [テスト] ボタンをクリックして結果を表示する。
  3. [今すぐ実行] ボタンをクリックして結果を表示する。
  4. [テストを実行] ボタンをクリックして結果を表示する。
  5. [テスト] ボタンをクリックして入力値を構成し、[テストを実行] ボタンをクリックして結果を表示する。


回答:正解は 1 です。REST API Explorer は [送信] ボタンを使用してテストを開始します。


質問:一般に「成功」を意味する HTTP ステータスコードはどれですか?

  1. 1xx
  2. 2xx
  3. 3xx
  4. 4xx
  5. 5xx


回答:正解は 2. 2xx です。一般的には次のとおりです。

  • 1xx:情報提供目的
  • 2xx:成功
  • 3xx:リダイレクト
  • 4xx:クライアントエラー
  • 5xx:サーバーエラー


質問:応答のフォーマット方法のオプションは次のうちどれですか?複数の回答が正解の場合があります。

  1. application/json
  2. text/json
  3. application/xml
  4. text/xml
  5. text/csv


回答:正解は 13、4 です。


質問:受信 REST 要求にセキュリティを追加するための戦略は、次のうちどれですか?複数の回答が正解の場合があります。

  1. 非常に複雑なパスワードを使用する。
  2. 受信要求専用のユーザーを作成する。
  3. テーブルに対する Web サービスのアクセスを許可しない。
  4. CORS ルールを作成する。
  5. アクセスを拒否するアクセス制御を設定する。


回答:正解は 234 です。


質問:REST API Explorer は、次のどの言語のコードサンプルを作成しますか?複数の回答が正解の場合があります。

  1. cURL
  2. Perl
  3. Python
  4. JavaScript
  5. PowerShell


回答:すべて正解です。リストされている言語に加えて、REST API Explorer は ServiceNow スクリプトと Ruby でコードサンプルを生成できます。


記事 (17/18)

受信データ連携モジュールのまとめ

コアコンセプト:

  • REST API Explorer を使用して、受信 ServiceNow API 要求を作成およびテストします
  • パスパラメーターはエンドポイント URL の一部です
  • クエリパラメーターによって、応答本文で返されるレコード、データ、データ形式が決まります
  • HTTP ステータスコードはトランザクション要求のステータスを示し、返されたデータに関する情報は示しません
  • 応答本文の形式はヘッダーで設定されます
  • REST API Explorer は、現在ログインしているユーザーとして要求をテストします
  • REST API Explorer では [Web サービスでのやり取りを許可] オプションをテストできません
  • コードによるデータ連携では admin ユーザーを使用せず、代わりに Web サービスのみのユーザーを作成します
  • Web サービスへのアクセスが必要な場合を除き、機密データを含むテーブルへの Web サービスのアクセスは無効にします
  • CORS ルールは API にセキュリティを追加します
    • CORS ルールは、どのクロスオリジンリソースがどのメソッドにアクセスできるかを決定します
    • CORS ルールは REST API Explorer ではテストできません
  • コードサンプルは、サードパーティアプリケーションから ServiceNow にデータ連携するためのスクリプトスタブを提供します
    • 開発者はコードサンプルの資格情報を更新する必要があります
    • コードサンプルは、データ連携で使用される複数の標準言語で利用できます

記事 (18/18)

「受信 REST データ連携」の完了後の参考資料

お疲れさまでした。「受信 REST データ連携」モジュールはこれで完了です。受信 REST への関心に基づいて、さらに次のことも学んでいただけます。