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
(SQL Server) Xero Get File Content (Files API)Demonstrates how to download the content of a Xero file. Note: This example requires Chilkat v9.5.0.64 or greater.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int DECLARE @iTmp0 int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- Note: Requires Chilkat v9.5.0.64 or greater. -- This requires the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @rest int -- Use "Chilkat_9_5_0.Rest" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Rest', @rest OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int -- Before sending REST API calls, the REST object needs to be -- initialized for OAuth1. -- See Xero 2-Legged OAuth1 Setup for sample code. -- Assuming the REST object's OAuth1 authenticator is setup, and the initial -- connection was made, we may now send REST HTTP requests.. -- ------------------------------------------------------------------------------ DECLARE @fileID nvarchar(4000) SELECT @fileID = 'f042e9a3-a31d-4595-b8b3-6030ea6084bb' DECLARE @sbPath int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbPath OUT EXEC sp_OAMethod @sbPath, 'Append', @success OUT, '/files.xro/1.0/Files/{FileId}/Content' DECLARE @numReplaced int EXEC sp_OAMethod @sbPath, 'Replace', @numReplaced OUT, '{FileId}', @fileID DECLARE @jpgData int -- Use "Chilkat_9_5_0.BinData" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.BinData', @jpgData OUT EXEC sp_OAMethod @sbPath, 'GetAsString', @sTmp0 OUT EXEC sp_OAMethod @rest, 'FullRequestNoBodyBd', @success OUT, 'GET', @sTmp0, @jpgData IF @success <> 1 BEGIN EXEC sp_OAGetProperty @rest, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @sbPath EXEC @hr = sp_OADestroy @jpgData RETURN END -- A 200 response is expected for actual success. -- If we don't get a 200 response, then the response body was not actually -- the file data, but it was text containing error information. EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT IF @iTmp0 <> 200 BEGIN DECLARE @sbErrorText int -- Use "Chilkat_9_5_0.StringBuilder" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.StringBuilder', @sbErrorText OUT EXEC sp_OAMethod @sbErrorText, 'AppendBd', @success OUT, @jpgData, 'utf-8', 0, 0 EXEC sp_OAMethod @sbErrorText, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 PRINT '-- Failed.' EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @sbPath EXEC @hr = sp_OADestroy @jpgData EXEC @hr = sp_OADestroy @sbErrorText RETURN END -- Save to a local file. EXEC sp_OAMethod @jpgData, 'WriteFile', @success OUT, 'qa_output/xero_penguins.jpg' IF @success <> 1 BEGIN PRINT 'Failed to save to local file.' END PRINT 'Xero Get File was Successful.' EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @sbPath EXEC @hr = sp_OADestroy @jpgData EXEC @hr = sp_OADestroy @sbErrorText END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.