DataFlex
DataFlex
MedTunnel: Get Message Attachment
See more MedTunnel Examples
Get a specific attachment of a message. The MessageId and AttachmentId are obtained from the "Get Mailbox Messages" example.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoHttp
Variant vBd
Handle hoBd
Integer iRespStatusCode
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
// Implements the following CURL command:
// curl -X GET -k
// -H "Authorization:PutAuthorizationTokenHere"
// https://server.medtunnel.com/medtunnelmsg/api/Message/GetAttachment?messageid=989448&attachmentid=424857&setreadflag=false
// Use the following online tool to generate HTTP code from a CURL command
// Convert a cURL Command to HTTP Source Code
Send ComSetRequestHeader To hoHttp "Authorization" "PutAuthorizationTokenHere"
// The messageId and attachmentId are contained in the response from reading the mailbox messages.
Get ComSetUrlVar Of hoHttp "messageId" "989448" To iSuccess
Get ComSetUrlVar Of hoHttp "attachmentId" "424857" To iSuccess
Get ComSetUrlVar Of hoHttp "setReadFlag" "false" To iSuccess
// Download the attachment data into bd.
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 "https://server.medtunnel.com/MedTunnelMsg/api/Message/GetAttachment?messageid={$messageId}&attachmentid={$attachmentId}&setreadflag={$setReadFlag}" vBd To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoHttp To sTemp1
Showln sTemp1
Procedure_Return
End
Get ComLastStatus Of hoHttp To iRespStatusCode
Showln "Response Status Code = " iRespStatusCode
If (iRespStatusCode >= 400) Begin
Showln "Response Header:"
Get ComLastHeader Of hoHttp To sTemp1
Showln sTemp1
// For errors, the response body contains an error message instead of the actual attachment data.
Showln "Response Body:"
Get ComGetString Of hoBd "utf-8" To sTemp1
Showln sTemp1
Showln "Failed."
Procedure_Return
End
// Save the attachment data.
// The attachment filename is also contained in the response from reading the mailbox messages.
Get ComWriteFile Of hoBd "qa_output/starfish.jpg" To iSuccess
If (iSuccess <> True) Begin
Showln "Failed to save attachment file."
End
Else Begin
Showln "Success."
End
End_Procedure