Sample code for 30+ languages & platforms
PureBasic

Permanently Delete a Specific GMail Message

See more GMail REST API Examples

Immediately and permanently deletes the specified message. This operation cannot be undone. (This is not the same as moving a message to Trash.)

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkHttp.pb"

Procedure ChilkatExample()

    success.i = 0

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

    http.i = CkHttp::ckCreate()
    If http.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkHttp::setCkAuthToken(http, "GMAIL-ACCESS-TOKEN")

    ; The id of the GMail message to delete.
    id.s = "1669cc9a926bb8c1"
    userId.s = "me"

    CkHttp::ckSetUrlVar(http,"userId","me")
    CkHttp::ckSetUrlVar(http,"id",id)

    ; Delete the email.
    url.s = "https://www.googleapis.com/gmail/v1/users/{$userId}/messages/{$id}"
    responseStr.s = CkHttp::ckQuickDeleteStr(http,url)
    If CkHttp::ckLastMethodSuccess(http) <> 1
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        ProcedureReturn
    EndIf

    Debug "status = " + Str(CkHttp::ckLastStatus(http))

    ; A 204 response indicate success.
    ; It is common for HTTP DELETE operations to respond with a 204 status code with an empty body for success.
    ; You'll find many REST APIs follow this custom..
    If CkHttp::ckLastStatus(http) <> 204
        Debug responseStr
        Debug "Failed."
        CkHttp::ckDispose(http)
        ProcedureReturn
    EndIf

    Debug "Message deleted!"


    CkHttp::ckDispose(http)


    ProcedureReturn
EndProcedure