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 Upload AttachmentUpload an attachment. (POST an attachment). Note: 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 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 EXEC @hr = sp_OACreate 'Chilkat_9_5_0.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.. -- -------------------------------------------------------------- -- This example will upload an image attachment to a receipt. DECLARE @endPoint nvarchar(4000) SELECT @endPoint = 'Receipts' DECLARE @receiptID nvarchar(4000) SELECT @receiptID = 'c4f40e59-c390-0001-caff-ce731c707d00' -- This JPG image can be downloaded from https://www.chilkatsoft.com/syncedImages/penguins.jpg DECLARE @filename nvarchar(4000) SELECT @filename = 'penguins.jpg' DECLARE @sbPath int EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbPath OUT EXEC sp_OAMethod @sbPath, 'Append', @success OUT, '/api.xro/2.0/{Endpoint}/{Guid}/Attachments/{Filename}' DECLARE @numReplaced int EXEC sp_OAMethod @sbPath, 'Replace', @numReplaced OUT, '{Endpoint}', @endPoint EXEC sp_OAMethod @sbPath, 'Replace', @numReplaced OUT, '{Guid}', @receiptID EXEC sp_OAMethod @sbPath, 'Replace', @numReplaced OUT, '{Filename}', @filename EXEC sp_OAMethod @rest, 'AddHeader', @success OUT, 'Content-Type', 'image/jpeg' -- Load the JPG image from a file. DECLARE @jpgData int EXEC @hr = sp_OACreate 'Chilkat_9_5_0.BinData', @jpgData OUT EXEC sp_OAMethod @jpgData, 'LoadFile', @success OUT, 'qa_data/jpg/penguins.jpg' -- We could alternatively get it from a URL like this: DECLARE @jpgDataFromWeb int EXEC @hr = sp_OACreate 'Chilkat_9_5_0.BinData', @jpgDataFromWeb OUT DECLARE @http int EXEC @hr = sp_OACreate 'Chilkat_9_5_0.Http', @http OUT EXEC sp_OAMethod @http, 'QuickGetBd', @success OUT, 'https://www.chilkatsoft.com/syncedImages/penguins.jpg', @jpgDataFromWeb IF @success <> 1 BEGIN EXEC sp_OAGetProperty @http, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @sbPath EXEC @hr = sp_OADestroy @jpgData EXEC @hr = sp_OADestroy @jpgDataFromWeb EXEC @hr = sp_OADestroy @http RETURN END -- Upload with a POST DECLARE @sbResponseBody int EXEC @hr = sp_OACreate 'Chilkat_9_5_0.StringBuilder', @sbResponseBody OUT EXEC sp_OAMethod @sbPath, 'GetAsString', @sTmp0 OUT EXEC sp_OAMethod @rest, 'FullRequestBd', @success OUT, 'POST', @sTmp0, @jpgData, @sbResponseBody 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 EXEC @hr = sp_OADestroy @jpgDataFromWeb EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @sbResponseBody RETURN END -- A 200 response is expected for actual success. EXEC sp_OAGetProperty @rest, 'ResponseStatusCode', @iTmp0 OUT IF @iTmp0 <> 200 BEGIN EXEC sp_OAMethod @sbResponseBody, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @sbPath EXEC @hr = sp_OADestroy @jpgData EXEC @hr = sp_OADestroy @jpgDataFromWeb EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @sbResponseBody RETURN END -- Examine the XML response EXEC sp_OAMethod @sbResponseBody, 'GetAsString', @sTmp0 OUT PRINT @sTmp0 -- A successful response looks like this: -- <Response xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> -- <Id>d82568cd-d222-49e6-b713-880b6edb0606</Id> -- <Status>OK</Status> -- <ProviderName>ChilkatPrivate</ProviderName> -- <DateTimeUTC>2016-11-11T14:17:49.5922609Z</DateTimeUTC> -- <Attachments> -- <Attachment> -- <AttachmentID>0edcddc8-325f-40c7-b950-8c71f14afc7c</AttachmentID> -- <FileName>penguins.jpg</FileName> -- <Url>http://api.xero.com/api.xro/2.0/Receipts/c4f40e59-c390-0001-caff-ce731c707d00/Attachments/penguins.jpg</Url> -- <MimeType>image/jpg</MimeType> -- <ContentLength>777835</ContentLength> -- </Attachment> -- </Attachments> -- </Response> EXEC @hr = sp_OADestroy @rest EXEC @hr = sp_OADestroy @sbPath EXEC @hr = sp_OADestroy @jpgData EXEC @hr = sp_OADestroy @jpgDataFromWeb EXEC @hr = sp_OADestroy @http EXEC @hr = sp_OADestroy @sbResponseBody END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.