PureBasic
PureBasic
MYOB: Get List of Company Files
See more MYOB Examples
Gets a list of company files.Chilkat PureBasic Downloads
IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
; This example requires the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkHttp::setCkAuthToken(http, "ACCESS_TOKEN")
CkHttp::setCkAccept(http, "application/json")
CkHttp::ckSetRequestHeader(http,"x-myobapi-key","MYOB_API_KEY")
CkHttp::ckSetRequestHeader(http,"x-myobapi-version","v2")
strResp.s = CkHttp::ckQuickGetStr(http,"https://ar1.api.myob.com/accountright")
If CkHttp::ckLastMethodSuccess(http) <> 1
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
ProcedureReturn
EndIf
Debug "Response Status Code: " + Str(CkHttp::ckLastStatus(http))
jsonResponse.i = CkJsonObject::ckCreate()
If jsonResponse.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoad(jsonResponse,strResp)
CkJsonObject::setCkEmitCompact(jsonResponse, 0)
Debug CkJsonObject::ckEmit(jsonResponse)
If CkHttp::ckLastStatus(http) <> 200
Debug "Failed."
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(jsonResponse)
ProcedureReturn
EndIf
; Sample output...
; (See the parsing code below..)
;
; Use the this online tool to generate parsing code from sample JSON:
; Generate Parsing Code from JSON
; {
; "Id": "d2014f64-ffdf-487b-8d12-67a20976aca6",
; "Name": "Internal Sandbox API",
; "LibraryPath": "Internal Sandbox API",
; "ProductVersion": "2013.0",
; "ProductLevel": {
; "Code": 20,
; "Name": "Standard"
; },
; "CheckedOutDate": "2013-06-11T01:47:47.0065514",
; "CheckedOutBy": "developers@myob.com",
; "Uri": "{cf_uri}",
; "Country": "AU"
; }
;
Id.s
Name.s
LibraryPath.s
ProductVersion.s
ProductLevelCode.i
ProductLevelName.s
CheckedOutDate.s
CheckedOutBy.s
Uri.s
Country.s
Id = CkJsonObject::ckStringOf(jsonResponse,"Id")
Name = CkJsonObject::ckStringOf(jsonResponse,"Name")
LibraryPath = CkJsonObject::ckStringOf(jsonResponse,"LibraryPath")
ProductVersion = CkJsonObject::ckStringOf(jsonResponse,"ProductVersion")
ProductLevelCode = CkJsonObject::ckIntOf(jsonResponse,"ProductLevel.Code")
ProductLevelName = CkJsonObject::ckStringOf(jsonResponse,"ProductLevel.Name")
CheckedOutDate = CkJsonObject::ckStringOf(jsonResponse,"CheckedOutDate")
CheckedOutBy = CkJsonObject::ckStringOf(jsonResponse,"CheckedOutBy")
Uri = CkJsonObject::ckStringOf(jsonResponse,"Uri")
Country = CkJsonObject::ckStringOf(jsonResponse,"Country")
CkHttp::ckDispose(http)
CkJsonObject::ckDispose(jsonResponse)
ProcedureReturn
EndProcedure