servicenowのclient scriptで、restでヤフーの郵便番号検索APIにアクセスして、レスポンスを取得するプログラムを作って。以下条件にも従って。引数の郵便番号は固定で8100000で。
以下は、ServiceNowのクライアントスクリプトでYahoo! Japanの郵便番号検索APIにアクセスし、レスポンスを取得する例です。なお、Yahoo! Japanの郵便番号検索APIは、CORS(Cross-Origin Resource Sharing)に対応しているため、クロスオリジンの制約を考慮する必要はありません。
// RESTエンドポイントURL var url = "https://zipcloud.ibsnet.co.jp/api/search?zipcode=8100000"; // REST呼び出しオプション var options = { method: "get", headers: { "Content-Type": "application/json" } }; // REST呼び出し gs.ajax({ url: url, headers: options.headers, method: options.method, success: function(response) { // レスポンスを取得した後の処理 var result = JSON.parse(response.responseText); if (result.status === 200) { // レスポンスが成功した場合の処理 var address = result.results[0].address1 + result.results[0].address2 + result.results[0].address3; gs.addInfoMessage("検索結果: " + address); } else { // レスポンスが失敗した場合の処理 gs.addErrorMessage("郵便番号検索に失敗しました。"); } }, error: function(response) { // REST呼び出し自体がエラーとなった場合の処理 gs.addErrorMessage("REST呼び出しに失敗しました。"); } });
上記の例では、gs.ajax()を使用してYahoo! Japanの郵便番号検索APIにアクセスしています。APIエンドポイントURLはurl変数に指定されており、呼び出し方法はoptions変数に指定されています。gs.ajax()のsuccessコールバック関数内で、レスポンスを取得しています。取得したレスポンスはJSON形式で返されるため、JSON.parse()を使用してオブジェクトに変換しています。
APIから返される検索結果は、results配列に含まれています。上記の例では、検索結果のうち最初のものだけを取得し、都道府県・市区町村・町域名を連結して表示しています。なお、Yahoo! Japanの郵便番号検索APIは、1秒あたりのリクエスト数に制限があるため、連続での大量の検索は避けるようにしてください。