Sample code for 30+ languages & platforms
AutoIt

Create GMail Draft

See more GMail REST API Examples

Demonstrates how to create a new GMail draft email.

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.

; Use the Chilkat Email API to create or load an email.
$oEmail = ObjCreate("Chilkat.Email")
$oEmail.Subject = "This is a test GMail email created using Chilkat."
$oEmail.Charset = "utf-8"
$oEmail.AddPlainTextAlternativeBody("This is a test")
$oEmail.AddHtmlAlternativeBody("<html><body><p>This is a <b>test</b></body></html>")

; We'll need to get the full MIME of the email encoded to a base64url string.
$oSbMime = ObjCreate("Chilkat.StringBuilder")
$oEmail.GetMimeSb($oSbMime)
$oSbMime.Encode("base64url","utf-8")

; The body of the HTTP request will be JSON..
$oJson = ObjCreate("Chilkat.JsonObject")
$oJson.UpdateSb("message.raw",$oSbMime)

; Upload the email to GMail as a draft.
$oHttp = ObjCreate("Chilkat.Http")
$oHttp.AuthToken = "GMAIL-ACCESS-TOKEN"

Local $sUrl = "https://www.googleapis.com/gmail/v1/users/me/drafts"
$oResp = ObjCreate("Chilkat.HttpResponse")
$bSuccess = $oHttp.HttpJson("POST",$sUrl,$oJson,"application/json",$oResp)
If ($bSuccess = False) Then
    ConsoleWrite($oHttp.LastErrorText & @CRLF)
    Exit
EndIf

; A status code of 200 indicates success.
ConsoleWrite("Response status code: " & $oResp.StatusCode & @CRLF)
ConsoleWrite("Response body:" & @CRLF)
ConsoleWrite($oResp.BodyStr & @CRLF)

; The response body contains JSON.
; Use the online tool at Generate JSON Parsing Code
; to generate JSON parsing code.

; A sample successful JSON response:

; {
;  "id": "r-2607584557788895307",
;  "message": {
;   "id": "166f09932c662e93",
;   "threadId": "166f09932c662e93",
;   "labelIds": [
;    "DRAFT"
;   ]
;  }
; }