Sample code for 30+ languages & platforms
Visual FoxPro

SharePoint -- Download a Text File into a String Variable

See more SharePoint Examples

Demonstrates how to download a text file from SharePoint into a string variable.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loHttp
LOCAL lcUrl
LOCAL lcStrCsv
LOCAL loBd
LOCAL loSb

lnSuccess = 0

*  This requires the Chilkat API to have been previously unlocked.
*  See Global Unlock Sample for sample code.

*  -------------------------------------------------------------------------
*  The following comments apply to SharePoint Windows classic authentication.
*  -------------------------------------------------------------------------
*  For example, imagine our SharePoint endpoint is https://xyzoffice.mycompany.com/
*  The SHAREPOINT_NTLM_DOMAIN would be "mycompany.com"
*  The SHAREPOINT_HTTPS_DOMAIN would be "xyzoffice.mycompany.com"
*  Also, the SHAREPOINT_USERNAME would be just the name, not a full email address.
*  for example, "chilkat" instead of "chilkat@mycompany.com"

loHttp = CreateObject('Chilkat.Http')

*  If SharePoint Windows classic authentication is used, then set the 
*  Login, Password, LoginDomain, and NtlmAuth properties.
loHttp.Login = "SHAREPOINT_USERNAME"
loHttp.Password = "SHAREPOINT_PASSWORD"
loHttp.LoginDomain = "SHAREPOINT_NTLM_DOMAIN"
loHttp.NtlmAuth = 1

*  -------------------------------------------------------------------------
*  The more common case is to use SharePoint Online authentication (via the SPOIDCRL cookie).
*  If so, do not set Login, Password, LoginDomain, and NtlmAuth, and instead
*  establish the cookie as shown at SharePoint Online Authentication
*  -------------------------------------------------------------------------

*  This example downloads a CSV file that is utf-8 and contains Japanese characters.

lcUrl = "https://SHAREPOINT_HTTPS_DOMAIN/_api/web/GetFileByServerRelativeUrl('/Documents/ChilkatTest/japanese.csv')/$value"

loHttp.AcceptCharset = "utf-8"

lcStrCsv = loHttp.QuickGetStr(lcUrl)
IF (loHttp.LastMethodSuccess <> 1) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    CANCEL
ENDIF

*  The CSV file is contained in strCsv.
? "CSV:"
? lcStrCsv

*  Note: The HTTP response hopefully indicates the charset of the response,
*  and Chilkat should receive the string correctly.  If the response sent by
*  SharePoint does not indicate a charset, or indicates an incorrect charset,
*  then we can instead download the text file as binary data and interpret the
*  bytes ourselves correctly.  For example:  

loBd = CreateObject('Chilkat.BinData')
lnSuccess = loHttp.QuickGetBd(lcUrl,loBd)
IF (lnSuccess <> 1) THEN
    ? loHttp.LastErrorText
    RELEASE loHttp
    RELEASE loBd
    CANCEL
ENDIF

*  Interpret the bytes correctly as utf-8
loSb = CreateObject('Chilkat.StringBuilder')
loSb.AppendBd(loBd,"utf-8",0,0)
? "CSV:"
? loSb.GetAsString()

RELEASE loHttp
RELEASE loBd
RELEASE loSb