Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(DataFlex) Download a Specific GMail Message into a Chilkat Email ObjectDemonstrates how to download a GMail message into a Chilkat Email object.
Use ChilkatAx-win32.pkg Procedure Test Boolean iSuccess Handle hoHttp String sId String sUserId String sUrl Variant vSbJson Handle hoSbJson Handle hoJson Variant vSbRaw Handle hoSbRaw Handle hoEmail String sTemp1 Integer iTemp1 // This example requires 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 Set ComAuthToken Of hoHttp To "GMAIL-ACCESS-TOKEN" // The id of the GMail message to download. Move "166e50fed0b9b0cb" To sId Move "me" To sUserId Get ComSetUrlVar Of hoHttp "userId" "me" To iSuccess Get ComSetUrlVar Of hoHttp "id" sId To iSuccess // Fetch the email. Move "https://www.googleapis.com/gmail/v1/users/{$userId}/messages/{$id}?format=raw" To sUrl Get Create (RefClass(cComChilkatStringBuilder)) To hoSbJson If (Not(IsComObjectCreated(hoSbJson))) Begin Send CreateComObject of hoSbJson End Get pvComObject of hoSbJson to vSbJson Get ComDownloadSb Of hoHttp sUrl "utf-8" vSbJson To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoHttp To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatJsonObject)) To hoJson If (Not(IsComObjectCreated(hoJson))) Begin Send CreateComObject of hoJson End Get pvComObject of hoSbJson to vSbJson Get ComLoadSb Of hoJson vSbJson To iSuccess Set ComEmitCompact Of hoJson To False Get ComLastStatus Of hoHttp To iTemp1 If (iTemp1 <> 200) Begin Get ComEmit Of hoJson To sTemp1 Showln sTemp1 Showln "Failed." Procedure_Return End // The returned JSON contains something like this: // { // "id": "166e50fed0b9b0cb", // "threadId": "166e50fed0b9b0cb", // "labelIds": [ // "CATEGORY_SOCIAL", // "INBOX" // ], // "snippet": "...", // "historyId": "582477", // "internalDate": "1541441317000", // "sizeEstimate": 28603, // "raw": "BASE64URL_CONTENT" // } // The RFC822 MIME of the email is contained in the "raw" as a base64URL encoded string. // Let's decode and load into a Chilkat email object.. Get Create (RefClass(cComChilkatStringBuilder)) To hoSbRaw If (Not(IsComObjectCreated(hoSbRaw))) Begin Send CreateComObject of hoSbRaw End Get pvComObject of hoSbRaw to vSbRaw Get ComStringOfSb Of hoJson "raw" vSbRaw To iSuccess Get ComDecode Of hoSbRaw "base64url" "utf-8" To iSuccess Get Create (RefClass(cComChilkatEmail)) To hoEmail If (Not(IsComObjectCreated(hoEmail))) Begin Send CreateComObject of hoEmail End Get pvComObject of hoSbRaw to vSbRaw Get ComSetFromMimeSb Of hoEmail vSbRaw To iSuccess // Now we can use the email API to do whatever we desire.. Get ComFromAddress Of hoEmail To sTemp1 Showln "From: " sTemp1 Get ComSubject Of hoEmail To sTemp1 Showln "Subject: " sTemp1 // ... End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.