Sample code for 30+ languages & platforms
DataFlex

OpenAI (ChatGPT) Retrieve File Content

See more OpenAI ChatGPT Examples

Demonstrate how to retrieve the content of a file from OpenAI. Shows how to download to a file, or instead download to a string in memory.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sFile_id
    String sUrl
    Variant vSbData
    Handle hoSbData
    String sTemp1

    Move False To iSuccess

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

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

    // Adds the "Authorization: Bearer $OPENAI_API_KEY" header.
    // This is NOT a real key.  Change the "sk-vi...." to your own key.
    Set ComAuthToken Of hoHttp To "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"

    Move "file-1H4vJq0H775gQVrjWY5jpp15" To sFile_id

    // Download to local file.
    Move "https://api.openai.com/v1/files/{$file_id}/content" To sUrl
    Get ComSetUrlVar Of hoHttp "file_id" sFile_id To iSuccess

    // Note: Free accounts are not able to download files.
    // If using a free account, you'll receive an error response:  "To help mitigate abuse, downloading of fine-tune training files is disabled for free accounts."
    Get ComDownload Of hoHttp sUrl "c:/aaworkarea/mydata.jsonl" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Showln "Failed"
        Procedure_Return
    End

    Showln "Downloaded OpenAI file to a local file."

    // Alternatively, download into a StringBuilder
    Get Create (RefClass(cComChilkatStringBuilder)) To hoSbData
    If (Not(IsComObjectCreated(hoSbData))) Begin
        Send CreateComObject of hoSbData
    End
    Get pvComObject of hoSbData to vSbData
    Get ComDownloadSb Of hoHttp sUrl vSbData "utf-8" To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Showln "Failed"
        Procedure_Return
    End

    Showln "Downloaded OpenAI file to a StringBuilder"

    Showln "file content:"
    Get ComGetAsString Of hoSbData To sTemp1
    Showln sTemp1


End_Procedure