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
(CkPython) Google Maps Geolocation RequestDemonstrates how make a Google Maps Geolocation REST API request.
import sys import chilkat # 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 = chilkat.CkRest() # 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 = chilkat.CkJsonObject() json.AppendInt("homeMobileCountryCode",310) json.AppendInt("homeMobileNetworkCode",260) json.AppendString("radioType","gsm") json.AppendString("carrier","T-Mobile") # aCellTowers is a CkJsonArray aCellTowers = json.AppendArray("cellTowers") aCellTowers.AddObjectAt(0) # oCellTower is a CkJsonObject 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 is a CkJsonArray aWifi = json.AppendArray("wifiAccessPoints") aWifi.AddObjectAt(0) # oPoint is a CkJsonObject 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 is a CkJsonObject 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.get_LastMethodSuccess() != True): print(rest.lastErrorText()) sys.exit() # When successful, the response code is 200. if (rest.get_ResponseStatusCode() != 200): # Examine the request/response to see what happened. print("response status code = " + str(rest.get_ResponseStatusCode())) print("response status text = " + rest.responseStatusText()) print("response header: " + rest.responseHeader()) print("response JSON: " + responseJson) print("---") print("LastRequestStartLine: " + rest.lastRequestStartLine()) print("LastRequestHeader: " + rest.lastRequestHeader()) sys.exit() json.put_EmitCompact(False) print("JSON request body: " + json.emit()) # The JSON response should look like this: # { # "location": { # "lat": 37.4248297, # "lng": -122.07346549999998 # }, # "accuracy": 1145.0 # } print("JSON response: " + responseJson) jsonResp = chilkat.CkJsonObject() jsonResp.Load(responseJson) # jsonLoc is a CkJsonObject jsonLoc = jsonResp.ObjectOf("location") # Any JSON value can be obtained as a string.. latitude = jsonLoc.stringOf("lat") print("latitude = " + latitude) longitude = jsonLoc.stringOf("lng") print("longitude = " + longitude) accuracy = jsonResp.stringOf("accuracy") print("accuracy = " + accuracy) |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.