Sample code for 30+ languages & platforms
AutoIt

Get GMail Message Metadata

See more GMail REST API Examples

Demonstrates how to get the metadata for each message in a list of message IDs.

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 = "ACCESS_TOKEN"

$oHttp.Accept = "application/json"

; Let's say we have the following JSON containing a list of message ID's

; {
;   "messages": [
;     {
;       "id": "1712bc1dc22da2a2",
;       "threadId": "1712bc1dc22da2a2"
;     },
;     {
;       "id": "1712b94fa2168040",
;       "threadId": "1712b94fa2168040"
;     },
;     {
;       "id": "1711e4bd96ded05e",
;       "threadId": "1711e4bd96ded05e"
;     },
;     {
;       "id": "1711de0d119e751e",
;       "threadId": "1711de0d119e751e"
;     },
;     {
;       "id": "1711c81a43050f59",
;       "threadId": "1711c81a43050f59"
;     },
;     {
;       "id": "1711c2c1516abce5",
;       "threadId": "1711c2c1516abce5"
;     },
;     {
;       "id": "1711c161e655c915",
;       "threadId": "1711c161e655c915"
;     },
;     {
;       "id": "171199c6e454558c",
;       "threadId": "171199c6e454558c"
;     },
;     {
;       "id": "17119474c8aa248e",
;       "threadId": "17119474c8aa248e"
;     }
;   ],
;   "nextPageToken": "16710921492249671162",
;   "resultSizeEstimate": 309
; }

; Normally your program would have the above JSON in a string variable (obtained from a previous call to get
; a list of message IDs from a GMail mailbox).  In this example, we'll load the JSON from a file.
$oJsonMsgIds = ObjCreate("Chilkat.JsonObject")
$bSuccess = $oJsonMsgIds.LoadFile("qa_data/json/gmail_message_ids.json")

$oResp = ObjCreate("Chilkat.HttpResponse")

Local $sId
Local $i = 0
Local $iCount_i = $oJsonMsgIds.SizeOfArray("messages")
While $i < $iCount_i
    $oJsonMsgIds.I = $i
    $sId = $oJsonMsgIds.StringOf("messages[i].id")

    ; Get the metadata for this message ID.
    $oHttp.SetUrlVar("id",$sId)

    $bSuccess = $oHttp.HttpNoBody("GET","https://www.googleapis.com/gmail/v1/users/userId/messages/{$id}?format=metadata",$oResp)
    If ($bSuccess = False) Then
        ConsoleWrite($oHttp.LastErrorText & @CRLF)
        Exit
    EndIf

    ConsoleWrite("Response Status Code: " & $oResp.StatusCode & @CRLF)

    $oJsonResponse = ObjCreate("Chilkat.JsonObject")
    $oJsonResponse.Load($oResp.BodyStr)
    $oJsonResponse.EmitCompact = False
    ConsoleWrite($oJsonResponse.Emit() & @CRLF)

    If ($oResp.StatusCode <> 200) Then
        ConsoleWrite("Failed." & @CRLF)
        Exit
    EndIf

    $i = $i + 1
Wend

; Use this online tool to generate parsing code from sample JSON: 
; Generate Parsing Code from JSON