PowerShell GMail: Get a specific message (format="minimal")

Back to Index

Gets a specific message using format=minimal.

Documentation: https://developers.google.com/gmail/api/v1/reference/users/messages/get


[Reflection.Assembly]::LoadFile("C:\myAssemblies\ChilkatDotNet2.dll")

$rest = New-Object Chilkat.Rest

#   Provide a previously obtained OAuth2 access token.
$oauth2 = New-Object Chilkat.OAuth2
$oauth2.AccessToken = "OAUTH2_ACCESS_TOKEN"
$rest.SetAuthOAuth2($oauth2)

$success = $rest.Connect("www.googleapis.com",443,$true,$true)
if ($success -ne $true) {
    $($rest.LastErrorText)
    exit
}

$rest.AddPathParam("messageId","15fc237e79da4174")

$rest.AddQueryParam("format","minimal")

$sbJson = New-Object Chilkat.StringBuilder
$success = $rest.FullRequestNoBodySb("GET","/gmail/v1/users/me/messages/messageId",$sbJson)
if ($success -ne $true) {
    $($rest.LastErrorText)
    exit
}

if ($rest.ResponseStatusCode -ne 200) {
    $("Received error response code: " + $rest.ResponseStatusCode)
    $("Response body:")
    $($sbJson.GetAsString())
    exit
}

$json = New-Object Chilkat.JsonObject
$json.LoadSb($sbJson)

#  The following code parses the JSON response.
#  A sample JSON response is shown below the sample code.

$id = $json.StringOf("id")
$threadId = $json.StringOf("threadId")
$snippet = $json.StringOf("snippet")
$historyId = $json.StringOf("historyId")
$internalDate = $json.StringOf("internalDate")
$sizeEstimate = $json.IntOf("sizeEstimate")
$i = 0
$count_i = $json.SizeOfArray("labelIds")
while ($i -lt $count_i) {
    $json.I = $i
    $strVal = $json.StringOf("labelIds[i]")
    $i = $i + 1
}

$("Example Completed.")

Sample JSON Response Body

{
  "id": "15fc237e79da4174",
  "threadId": "15fc237e79da4174",
  "labelIds": [
    "IMPORTANT",
    "SENT",
    "INBOX"
  ],
  "snippet": "This is a test email with 2 attachments.",
  "historyId": "1582",
  "internalDate": "1510791964000",
  "sizeEstimate": 11153
}