Sample code for 30+ languages & platforms
AutoIt

Download a Specific GMail Message into a Chilkat Email Object

See more GMail REST API Examples

Demonstrates how to download a GMail message into a Chilkat Email object.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

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

$oHttp = ObjCreate("Chilkat.Http")
$oHttp.AuthToken = "GMAIL-ACCESS-TOKEN"

;  The id of the GMail message to download.
Local $sId = "166e50fed0b9b0cb"
Local $sUserId = "me"

$oHttp.SetUrlVar("userId","me")
$oHttp.SetUrlVar("id",$sId)

;  Fetch the email.
Local $sUrl = "https://www.googleapis.com/gmail/v1/users/{$userId}/messages/{$id}?format=raw"
$oSbJson = ObjCreate("Chilkat.StringBuilder")
$bSuccess = $oHttp.DownloadSb($sUrl,"utf-8",$oSbJson)
If ($bSuccess <> True) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.LoadSb($oSbJson)
$oJson.EmitCompact = False

If ($oHttp.LastStatus <> 200) Then
    ConsoleWrite($oJson.Emit() & @CRLF)
    ConsoleWrite("Failed." & @CRLF)
    Exit
EndIf

;  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..
$oSbRaw = ObjCreate("Chilkat.StringBuilder")
$oJson.StringOfSb("raw",$oSbRaw)
$oSbRaw.Decode("base64url","utf-8")

$oEmail = ObjCreate("Chilkat.Email")
$oEmail.SetFromMimeSb($oSbRaw)

;  Now we can use the email API to do whatever we desire..
ConsoleWrite("From: " & $oEmail.FromAddress & @CRLF)
ConsoleWrite("Subject: " & $oEmail.Subject & @CRLF)
;  ...