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
(VBScript) Google Maps Geolocation RequestDemonstrates how make a Google Maps Geolocation REST API request.
Dim fso, outFile Set fso = CreateObject("Scripting.FileSystemObject") 'Create a Unicode (utf-16) output text file. Set outFile = fso.CreateTextFile("output.txt", True, True) ' 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. ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Rest") set rest = CreateObject("Chilkat.Rest") ' Connect to the Google API REST server. bTls = 1 port = 443 bAutoReconnect = 1 success = rest.Connect("www.googleapis.com",port,bTls,bAutoReconnect) ' Add the Content-Type request header. success = rest.AddHeader("Content-Type","application/json") ' Add your API key as a query parameter success = 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 ' } ' ] ' } ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set json = CreateObject("Chilkat.JsonObject") success = json.AppendInt("homeMobileCountryCode",310) success = json.AppendInt("homeMobileNetworkCode",260) success = json.AppendString("radioType","gsm") success = json.AppendString("carrier","T-Mobile") ' aCellTowers is a Chilkat.JsonArray Set aCellTowers = json.AppendArray("cellTowers") success = aCellTowers.AddObjectAt(0) ' oCellTower is a Chilkat.JsonObject Set oCellTower = aCellTowers.ObjectAt(0) success = oCellTower.AppendInt("cellId",39627456) success = oCellTower.AppendInt("locationAreaCode",40495) success = oCellTower.AppendInt("mobileCountryCode",310) success = oCellTower.AppendInt("mobileNetworkCode",260) success = oCellTower.AppendInt("age",0) success = oCellTower.AppendInt("signalStrength",-95) ' aWifi is a Chilkat.JsonArray Set aWifi = json.AppendArray("wifiAccessPoints") success = aWifi.AddObjectAt(0) ' oPoint is a Chilkat.JsonObject Set oPoint = aWifi.ObjectAt(0) success = oPoint.AppendString("macAddress","01:23:45:67:89:AB") success = oPoint.AppendInt("signalStrength",8) success = oPoint.AppendInt("age",0) success = oPoint.AppendInt("signalToNoiseRatio",-65) success = oPoint.AppendInt("channel",8) success = aWifi.AddObjectAt(1) ' oPoint is a Chilkat.JsonObject Set oPoint = aWifi.ObjectAt(1) success = oPoint.AppendString("macAddress","01:23:45:67:89:AC") success = oPoint.AppendInt("signalStrength",4) success = oPoint.AppendInt("age",0) responseJson = rest.FullRequestString("POST","/geolocation/v1/geolocate",json.Emit()) If (rest.LastMethodSuccess <> 1) Then outFile.WriteLine(rest.LastErrorText) WScript.Quit End If ' When successful, the response code is 200. If (rest.ResponseStatusCode <> 200) Then ' Examine the request/response to see what happened. outFile.WriteLine("response status code = " & rest.ResponseStatusCode) outFile.WriteLine("response status text = " & rest.ResponseStatusText) outFile.WriteLine("response header: " & rest.ResponseHeader) outFile.WriteLine("response JSON: " & responseJson) outFile.WriteLine("---") outFile.WriteLine("LastRequestStartLine: " & rest.LastRequestStartLine) outFile.WriteLine("LastRequestHeader: " & rest.LastRequestHeader) WScript.Quit End If json.EmitCompact = 0 outFile.WriteLine("JSON request body: " & json.Emit()) ' The JSON response should look like this: ' { ' "location": { ' "lat": 37.4248297, ' "lng": -122.07346549999998 ' }, ' "accuracy": 1145.0 ' } outFile.WriteLine("JSON response: " & responseJson) ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.JsonObject") set jsonResp = CreateObject("Chilkat.JsonObject") success = jsonResp.Load(responseJson) ' jsonLoc is a Chilkat.JsonObject Set jsonLoc = jsonResp.ObjectOf("location") ' Any JSON value can be obtained as a string.. latitude = jsonLoc.StringOf("lat") outFile.WriteLine("latitude = " & latitude) longitude = jsonLoc.StringOf("lng") outFile.WriteLine("longitude = " & longitude) accuracy = jsonResp.StringOf("accuracy") outFile.WriteLine("accuracy = " & accuracy) outFile.Close |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.