Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerShell) SCIS SearchSee more SCiS Schools Catalogue ExamplesDemonstrates the SCIS (Schools Catalogue Information Service) search API call.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example assumes the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $http = New-Object Chilkat.Http # Implements the following CURL command: # curl -i -X GET --url 'https://api.scisdata.com/catalogue/api/search?query=titleSearch%3Adogs%20AND%20publicationYear%3A2015&from=0&size=20&sort=author&order=asc' -H 'Authorization: Basic ****' # Use the following online tool to generate HTTP code from a CURL command # Convert a cURL Command to HTTP Source Code # This causes the "Authorization: Basic ****" to be added to each request. $http.Login = "myLogin" $http.Password = "myPassword" $http.BasicAuth = $true $sbQuery = New-Object Chilkat.StringBuilder $sbQuery.Append("titleSearch:dogs AND publicationYear:2015") $sbUrl = New-Object Chilkat.StringBuilder $sbUrl.Append("https://api.scisdata.com/catalogue/api/search?query=") # If non-usascii chars are included in the search, we don't know if utf-8 or windows-1252 is desired by the server. You'll need to find out.. $sbUrl.Append($sbQuery.GetEncoded("url","utf-8")) $sbUrl.Append("&from=0&size=20&sort=author&order=asc") $sbResponseBody = New-Object Chilkat.StringBuilder $success = $http.QuickGetSb($sbUrl.GetAsString(),$sbResponseBody) if ($success -eq $false) { $($http.LastErrorText) exit } $jResp = New-Object Chilkat.JsonObject $jResp.LoadSb($sbResponseBody) $jResp.EmitCompact = $false $("Response Body:") $($jResp.Emit()) $respStatusCode = $http.LastStatus $("Response Status Code = " + $respStatusCode) if ($respStatusCode -ge 400) { $("Response Header:") $($http.LastHeader) $("Failed.") exit } # Sample JSON response: # (Sample code for parsing the JSON response is shown below) # { # "data": { # "hits": { # "hits": [ # { # "_index": "scisdata2", # "_type": "bibdatatype", # "_source": { # "isbn": [ # "9781517638160" # ], # "languageTermCode": [ # "eng" # ], # "mainAuthor": { # "namePersonalPrimary": [ # "Abbott, Eleanor Hallowell." # ] # }, # "title": { # "titlePrimary": [ # "Peace on Earth, good-will to dogs" # ], # "noteStmOfResponsibility": [ # "by Eleanor Hallowell Abbott." # ] # }, # "scisType": [ # "Book" # ], # "dateIssuedMarc": 2015, # "languageTermValue": [ # "English" # ], # "contributor": {}, # "isbn13": "9781517638160", # "imageFileName": "9781517638160.jpg", # "publicationDetails": "United States, Create Space Independent Publishing Platform, 2015", # "isbn10": "151763816X", # "id": "1867852" # }, # "_id": "1867852", # "sort": [ # "abbott, eleanor hallowell." # ], # "_score": null # }, # { # "_index": "scisdata2", # "_type": "bibdatatype", # "_source": { # "isbn": [ # "9781780747910" # ], # "languageTermCode": [ # "eng" # ], # "mainAuthor": { # "namePersonalPrimary": [ # "Adams, Richard." # ] # }, # "title": { # "titlePrimary": [ # "The plague dogs" # ], # "noteStmOfResponsibility": [ # "Richard Adams." # ] # }, # "scisType": [ # "Book" # ], # "dateIssuedMarc": 2015, # "languageTermValue": [ # "English" # ], # "contributor": {}, # "isbn13": "9781780747910", # "imageFileName": "9781780747910.jpg", # "publicationDetails": "New York, Rock the Boat, 2015", # "isbn10": "1780747918", # "id": "1749228" # }, # "_id": "1749228", # "sort": [ # "adams, richard." # ], # "_score": null # }, # ... # ], # "total": 84, # "max_score": null # }, # "took": 585, # "timed_out": false # }, # "subscriptionStatus": {} # } # Sample code for parsing the JSON response... # Use the following online tool to generate parsing code from sample JSON: # Generate Parsing Code from JSON $dataHitsTotal = $jResp.IntOf("data.hits.total") $dataHitsMax_score = $jResp.StringOf("data.hits.max_score") $dataTook = $jResp.IntOf("data.took") $dataTimed_out = $jResp.BoolOf("data.timed_out") $i = 0 $count_i = $jResp.SizeOfArray("data.hits.hits") while ($i -lt $count_i) { $jResp.I = $i $v_index = $jResp.StringOf("data.hits.hits[i]._index") $v_type = $jResp.StringOf("data.hits.hits[i]._type") $v_sourceDateIssuedMarc = $jResp.IntOf("data.hits.hits[i]._source.dateIssuedMarc") $v_sourceIsbn13 = $jResp.StringOf("data.hits.hits[i]._source.isbn13") $v_sourceImageFileName = $jResp.StringOf("data.hits.hits[i]._source.imageFileName") $v_sourcePublicationDetails = $jResp.StringOf("data.hits.hits[i]._source.publicationDetails") $v_sourceIsbn10 = $jResp.StringOf("data.hits.hits[i]._source.isbn10") $v_sourceId = $jResp.StringOf("data.hits.hits[i]._source.id") $v_id = $jResp.StringOf("data.hits.hits[i]._id") $v_score = $jResp.StringOf("data.hits.hits[i]._score") $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i]._source.isbn") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i]._source.isbn[j]") $j = $j + 1 } $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i]._source.languageTermCode") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i]._source.languageTermCode[j]") $j = $j + 1 } $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i]._source.mainAuthor.namePersonalPrimary") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i]._source.mainAuthor.namePersonalPrimary[j]") $j = $j + 1 } $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i]._source.title.titlePrimary") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i]._source.title.titlePrimary[j]") $j = $j + 1 } $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i]._source.title.noteStmOfResponsibility") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i]._source.title.noteStmOfResponsibility[j]") $j = $j + 1 } $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i]._source.scisType") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i]._source.scisType[j]") $j = $j + 1 } $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i]._source.languageTermValue") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i]._source.languageTermValue[j]") $j = $j + 1 } $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i].sort") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i].sort[j]") $j = $j + 1 } $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i]._source.contributor.namePersonalOther") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i]._source.contributor.namePersonalOther[j]") $j = $j + 1 } $j = 0 $count_j = $jResp.SizeOfArray("data.hits.hits[i]._source.contributor.nameCorporateOther") while ($j -lt $count_j) { $jResp.J = $j $strVal = $jResp.StringOf("data.hits.hits[i]._source.contributor.nameCorporateOther[j]") $j = $j + 1 } $i = $i + 1 } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.