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
(Tcl) Download a Specific GMail Message into a Chilkat Email ObjectDemonstrates how to download a GMail message into a Chilkat Email object.
load ./chilkat.dll # This example requires the Chilkat API to have been previously unlocked. # See Global Unlock Sample for sample code. set http [new_CkHttp] CkHttp_put_AuthToken $http "GMAIL-ACCESS-TOKEN" # The id of the GMail message to download. set id "166e50fed0b9b0cb" set userId "me" CkHttp_SetUrlVar $http "userId" "me" CkHttp_SetUrlVar $http "id" $id # Fetch the email. set url "https://www.googleapis.com/gmail/v1/users/{$userId}/messages/{$id}?format=raw" set sbJson [new_CkStringBuilder] set success [CkHttp_DownloadSb $http $url "utf-8" $sbJson] if {$success != 1} then { puts [CkHttp_lastErrorText $http] delete_CkHttp $http delete_CkStringBuilder $sbJson exit } set json [new_CkJsonObject] CkJsonObject_LoadSb $json $sbJson CkJsonObject_put_EmitCompact $json 0 if {[CkHttp_get_LastStatus $http] != 200} then { puts [CkJsonObject_emit $json] puts "Failed." delete_CkHttp $http delete_CkStringBuilder $sbJson delete_CkJsonObject $json exit } # 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.. set sbRaw [new_CkStringBuilder] CkJsonObject_StringOfSb $json "raw" $sbRaw CkStringBuilder_Decode $sbRaw "base64url" "utf-8" set email [new_CkEmail] CkEmail_SetFromMimeSb $email $sbRaw # Now we can use the email API to do whatever we desire.. puts "From: [CkEmail_fromAddress $email]" puts "Subject: [CkEmail_subject $email]" # ... delete_CkHttp $http delete_CkStringBuilder $sbJson delete_CkJsonObject $json delete_CkStringBuilder $sbRaw delete_CkEmail $email |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.