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) Xero Download Attachment for an Item (such as an Invoice)Demonstrates how to download a particular attachment for a particular Xero item. For more information, see https://developer.xero.com/documentation/api/attachments#GET
Use ChilkatAx-win32.pkg Procedure Test Handle hoHttp Handle hoJsonToken Boolean iSuccess String sUrl Variant vBd Handle hoBd String sTemp1 Integer iTemp1 // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatHttp)) To hoHttp If (Not(IsComObjectCreated(hoHttp))) Begin Send CreateComObject of hoHttp End Get Create (RefClass(cComChilkatJsonObject)) To hoJsonToken If (Not(IsComObjectCreated(hoJsonToken))) Begin Send CreateComObject of hoJsonToken End Get ComLoadFile Of hoJsonToken "qa_data/tokens/xero-access-token.json" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoJsonToken To sTemp1 Showln sTemp1 Procedure_Return End Get ComStringOf Of hoJsonToken "access_token" To sTemp1 Set ComAuthToken Of hoHttp To sTemp1 // Replace the value here with an actual tenant ID obtained from this example: // Get Xero Tenant IDs Send ComSetRequestHeader To hoHttp "Xero-tenant-id" "83299b9e-5747-4a14-a18a-a6c94f824eb7" Set ComAccept Of hoHttp To "application/json" // The example to list Xero attachments shows how to get attachment information. // Here's a sample JSON response obtained form listing attachments: // Your application can get the AttachmentID's and filenames from it. // { // "Id": "24bfbcb9-dec9-4d33-835c-8f165d776766", // "Status": "OK", // "ProviderName": "Chilkat2222", // "DateTimeUTC": "\/Date(1587213296972)\/", // "Attachments": [ // { // "AttachmentID": "daf106e2-8634-4349-bfcc-86c1df0793b2", // "FileName": "penguins.jpg", // "Url": "https://api.xero.com/api.xro/2.0/Invoices/0032f627-3156-4d30-9b1c-4d3b994dc921/Attachments/penguins.jpg", // "MimeType": "image/jpg", // "ContentLength": 777835 // } // ] // } Move "https://api.xero.com/api.xro/2.0/{$Endpoint}/{$Guid}/Attachments/{$AttachmentId}" To sUrl // Endpoint can be Invoices, Receipts, CreditNotes, PurchaseOrders, etc. Get ComSetUrlVar Of hoHttp "Endpoint" "Invoices" To iSuccess // Guid is the ID of the item, such as the InvoiceID. Get ComSetUrlVar Of hoHttp "Guid" "0032f627-3156-4d30-9b1c-4d3b994dc921" To iSuccess // AttachmentId is the ID of the particular attachment to be downloaded Get ComSetUrlVar Of hoHttp "AttachmentId" "daf106e2-8634-4349-bfcc-86c1df0793b2" To iSuccess // Download the attachment data into bd. Get Create (RefClass(cComChilkatBinData)) To hoBd If (Not(IsComObjectCreated(hoBd))) Begin Send CreateComObject of hoBd End Get pvComObject of hoBd to vBd Get ComQuickGetBd Of hoHttp sUrl vBd To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get ComLastStatus Of hoHttp To iTemp1 Showln "Response Status Code: " iTemp1 Get ComLastStatus Of hoHttp To iTemp1 If (iTemp1 = 200) Begin // Success // Save to a file.. Get ComWriteFile Of hoBd "qa_output/penguines.jpg" To iSuccess End Else Begin // Failed. bd contains error information.. Get ComGetString Of hoBd "utf-8" To sTemp1 Showln sTemp1 End End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.