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) Google Maps Geolocation RequestDemonstrates how make a Google Maps Geolocation REST API request.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-9.5.0-x64\ChilkatDotNet47.dll" # This example duplicates the following CURL request: # curl -d @your_filename.json -H "Content-Type: application/json" -i "https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY" # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. $rest = New-Object Chilkat.Rest # Connect to the Google API REST server. $bTls = $true $port = 443 $bAutoReconnect = $true $success = $rest.Connect("www.googleapis.com",$port,$bTls,$bAutoReconnect) # Add the Content-Type request header. $rest.AddHeader("Content-Type","application/json") # Add your API key as a query parameter $rest.AddQueryParam("key","YOUR_API_KEY") # The JSON query is contained in the body of the HTTP POST. # This is a sample query (which we'll dynamically build in this example) # { # "homeMobileCountryCode": 310, # "homeMobileNetworkCode": 260, # "radioType": "gsm", # "carrier": "T-Mobile", # "cellTowers": [ # { # "cellId": 39627456, # "locationAreaCode": 40495, # "mobileCountryCode": 310, # "mobileNetworkCode": 260, # "age": 0, # "signalStrength": -95 # } # ], # "wifiAccessPoints": [ # { # "macAddress": "01:23:45:67:89:AB", # "signalStrength": 8, # "age": 0, # "signalToNoiseRatio": -65, # "channel": 8 # }, # { # "macAddress": "01:23:45:67:89:AC", # "signalStrength": 4, # "age": 0 # } # ] # } $json = New-Object Chilkat.JsonObject $json.AppendInt("homeMobileCountryCode",310) $json.AppendInt("homeMobileNetworkCode",260) $json.AppendString("radioType","gsm") $json.AppendString("carrier","T-Mobile") $aCellTowers = $json.AppendArray("cellTowers") $aCellTowers.AddObjectAt(0) $oCellTower = $aCellTowers.ObjectAt(0) $oCellTower.AppendInt("cellId",39627456) $oCellTower.AppendInt("locationAreaCode",40495) $oCellTower.AppendInt("mobileCountryCode",310) $oCellTower.AppendInt("mobileNetworkCode",260) $oCellTower.AppendInt("age",0) $oCellTower.AppendInt("signalStrength",-95) $aWifi = $json.AppendArray("wifiAccessPoints") $aWifi.AddObjectAt(0) $oPoint = $aWifi.ObjectAt(0) $oPoint.AppendString("macAddress","01:23:45:67:89:AB") $oPoint.AppendInt("signalStrength",8) $oPoint.AppendInt("age",0) $oPoint.AppendInt("signalToNoiseRatio",-65) $oPoint.AppendInt("channel",8) $aWifi.AddObjectAt(1) $oPoint = $aWifi.ObjectAt(1) $oPoint.AppendString("macAddress","01:23:45:67:89:AC") $oPoint.AppendInt("signalStrength",4) $oPoint.AppendInt("age",0) $responseJson = $rest.FullRequestString("POST","/geolocation/v1/geolocate",$json.Emit()) if ($rest.LastMethodSuccess -ne $true) { $($rest.LastErrorText) exit } # When successful, the response code is 200. if ($rest.ResponseStatusCode -ne 200) { # Examine the request/response to see what happened. $("response status code = " + $rest.ResponseStatusCode) $("response status text = " + $rest.ResponseStatusText) $("response header: " + $rest.ResponseHeader) $("response JSON: " + $responseJson) $("---") $("LastRequestStartLine: " + $rest.LastRequestStartLine) $("LastRequestHeader: " + $rest.LastRequestHeader) exit } $json.EmitCompact = $false $("JSON request body: " + $json.Emit()) # The JSON response should look like this: # { # "location": { # "lat": 37.4248297, # "lng": -122.07346549999998 # }, # "accuracy": 1145.0 # } $("JSON response: " + $responseJson) $jsonResp = New-Object Chilkat.JsonObject $jsonResp.Load($responseJson) $jsonLoc = $jsonResp.ObjectOf("location") # Any JSON value can be obtained as a string.. $latitude = $jsonLoc.StringOf("lat") $("latitude = " + $latitude) $longitude = $jsonLoc.StringOf("lng") $("longitude = " + $longitude) $accuracy = $jsonResp.StringOf("accuracy") $("accuracy = " + $accuracy) |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.