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
(DataFlex) Firebase GET - Reading DataDemonstrates how to read parts of a Firebase JSON database. The data used in this example is at Chilkat Firebase Pigs Database, and is shown here:
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoFac String sAccessToken Handle hoRest Variant vAuthGoogle Handle hoAuthGoogle String sJsonResponse Handle hoPiggyPath Handle hoShallow Handle hoPiggyData Integer iCount Integer i String sPiggyJson String sTemp1 Boolean bTemp1 // Demonstrates how to read parts of a Firebase JSON database. // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // This example assumes a JWT authentication token, if required, has been previously obtained. // See Get Firebase Access Token from JSON Service Account Private Key for sample code. // Load the previously obtained Firebase access token into a string. Get Create (RefClass(cComCkFileAccess)) To hoFac If (Not(IsComObjectCreated(hoFac))) Begin Send CreateComObject of hoFac End Get ComReadEntireTextFile Of hoFac "qa_data/tokens/firebaseToken.txt" "utf-8" To sAccessToken Get ComLastMethodSuccess Of hoFac To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoFac To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatRest)) To hoRest If (Not(IsComObjectCreated(hoRest))) Begin Send CreateComObject of hoRest End // Make the initial connection (without sending a request yet). // Once connected, any number of requests may be sent. It is not necessary to explicitly // call Connect before each request. Get ComConnect Of hoRest "chilkat.firebaseio.com" 443 True True To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End // If authentication is required... Get Create (RefClass(cComChilkatAuthGoogle)) To hoAuthGoogle If (Not(IsComObjectCreated(hoAuthGoogle))) Begin Send CreateComObject of hoAuthGoogle End Set ComAccessToken Of hoAuthGoogle To sAccessToken Get pvComObject of hoAuthGoogle to vAuthGoogle Get ComSetAuthGoogle Of hoRest vAuthGoogle To iSuccess // Chilkat's sample data (pig-rescue data) is publicly readable at: https://chilkat.firebaseio.com/.json // Let's get the animals with the shallow parameter so we can see how many pigs exist. Get ComFullRequestNoBody Of hoRest "GET" "/pig-rescue/animal.json?shallow=true" To sJsonResponse Get ComLastMethodSuccess Of hoRest To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End // The JSON returned should look like this: // {"-KI3bD-FU_Dake7sYOiP":true,"-KI3bD-FU_Dake7sYOiT":true,"-KI3bD-FU_Dake7sYOiS":true,"-KI3bD-FU_Dake7sYOiU":true,"-KI3bD-FU_Dake7sYOiV":true,"-KI3bD-FU_Dake7sYOiR":true,"-KI3bD-FU_Dake7sYOiQ":true} Showln sJsonResponse // Parse the response so we can iterate over each pig in the database.. Get Create (RefClass(cComChilkatStringBuilder)) To hoPiggyPath If (Not(IsComObjectCreated(hoPiggyPath))) Begin Send CreateComObject of hoPiggyPath End Get Create (RefClass(cComChilkatJsonObject)) To hoShallow If (Not(IsComObjectCreated(hoShallow))) Begin Send CreateComObject of hoShallow End Get Create (RefClass(cComChilkatJsonObject)) To hoPiggyData If (Not(IsComObjectCreated(hoPiggyData))) Begin Send CreateComObject of hoPiggyData End Get ComLoad Of hoShallow sJsonResponse To iSuccess Get ComSize Of hoShallow To iCount Move 0 To i While (i < iCount) // Get each individual pig's data. Send ComClear To hoPiggyPath Get ComAppend Of hoPiggyPath "/pig-rescue/animal/" To iSuccess Get ComNameAt Of hoShallow i To sTemp1 Get ComAppend Of hoPiggyPath sTemp1 To iSuccess Get ComAppend Of hoPiggyPath "/.json" To iSuccess Get ComGetAsString Of hoPiggyPath To sTemp1 Get ComFullRequestNoBody Of hoRest "GET" sTemp1 To sPiggyJson Get ComLastMethodSuccess Of hoRest To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoRest To sTemp1 Showln sTemp1 Procedure_Return End // Show this piggy's data... // An example of one pig's data is shown here: // {"birth":"February, 1998","from":"Middle Ave.","gender":"F","in-date":"January, 2000", // "name":"Molly II","picture":{"caption":"Molly in the Pasture","description":"Black pig","file":"molly_th.jpg"}, // "species":"pot belly pig","type":"Cathy's Herd"} Showln "---- " i " ----" Showln sPiggyJson // Let's get the pig's name, and the caption of the picture. Get ComLoad Of hoPiggyData sPiggyJson To iSuccess Get ComStringOf Of hoPiggyData "name" To sTemp1 Showln "name: " sTemp1 Get ComStringOf Of hoPiggyData "picture.caption" To sTemp1 Showln "caption: " sTemp1 Move (i + 1) To i Loop // Note: In many of the Chilkat examples, you may notice strange ways // of doing something that should be simpler and shorter. For example, // building the piggyPath (above) could've been written differently, // with some simple string concatenation. // // The reason is that the Chilkat examples are written in a // proprietary "example code" scripting language, // and then automatically generated to each of the different programming // languages you see on example-code.com. The code generation is // limited in what it can do. For example, string concatentation // is not yet a feature of the "example code" scripting language (as of May 2016), // and therefore you won't see the use of a programming language's string // concatentation operators in any example. // End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.