Sample code for 30+ languages & platforms
DataFlex

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 DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sUrl
    String sStrCsv
    Variant vBd
    Handle hoBd
    Handle hoSb
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

    // 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"

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // If SharePoint Windows classic authentication is used, then set the 
    // Login, Password, LoginDomain, and NtlmAuth properties.
    Set ComLogin Of hoHttp To "SHAREPOINT_USERNAME"
    Set ComPassword Of hoHttp To "SHAREPOINT_PASSWORD"
    Set ComLoginDomain Of hoHttp To "SHAREPOINT_NTLM_DOMAIN"
    Set ComNtlmAuth Of hoHttp To True

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

    Move "https://SHAREPOINT_HTTPS_DOMAIN/_api/web/GetFileByServerRelativeUrl('/Documents/ChilkatTest/japanese.csv')/$value" To sUrl

    Set ComAcceptCharset Of hoHttp To "utf-8"

    Get ComQuickGetStr Of hoHttp sUrl To sStrCsv
    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 <> True) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // The CSV file is contained in strCsv.
    Showln "CSV:"
    Showln sStrCsv

    // 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:  

    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 <> True) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    // Interpret the bytes correctly as utf-8
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSb
    If (Not(IsComObjectCreated(hoSb))) Begin
        Send CreateComObject of hoSb
    End
    Get pvComObject of hoBd to vBd
    Get ComAppendBd Of hoSb vBd "utf-8" 0 0 To iSuccess
    Showln "CSV:"
    Get ComGetAsString Of hoSb To sTemp1
    Showln sTemp1


End_Procedure