Sample code for 30+ languages & platforms
Classic ASP

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.

Chilkat Classic ASP Downloads

Classic ASP
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%
success = 0

' 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.

set rest = Server.CreateObject("Chilkat.Rest")

' 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..

' ------------------------------------------------------------------------------
fileID = "f042e9a3-a31d-4595-b8b3-6030ea6084bb"

set sbPath = Server.CreateObject("Chilkat.StringBuilder")
success = sbPath.Append("/files.xro/1.0/Files/{FileId}/Content")
numReplaced = sbPath.Replace("{FileId}",fileID)

set jpgData = Server.CreateObject("Chilkat.BinData")
success = rest.FullRequestNoBodyBd("GET",sbPath.GetAsString(),jpgData)
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( rest.LastErrorText) & "</pre>"
    Response.End
End If

' 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.
If (rest.ResponseStatusCode <> 200) Then
    set sbErrorText = Server.CreateObject("Chilkat.StringBuilder")
    success = sbErrorText.AppendBd(jpgData,"utf-8",0,0)
    Response.Write "<pre>" & Server.HTMLEncode( sbErrorText.GetAsString()) & "</pre>"
    Response.Write "<pre>" & Server.HTMLEncode( "-- Failed.") & "</pre>"
    Response.End
End If

' Save to a local file.
success = jpgData.WriteFile("qa_output/xero_penguins.jpg")
If (success <> 1) Then
    Response.Write "<pre>" & Server.HTMLEncode( "Failed to save to local file.") & "</pre>"
End If

Response.Write "<pre>" & Server.HTMLEncode( "Xero Get File was Successful.") & "</pre>"

%>
</body>
</html>