Sample code for 30+ languages & platforms
Go

Get a List of Message IDs in GMail User's Mailbox

See more GMail REST API Examples

Demonstrates how to get a list of message IDs in a GMail mailbox. The "userId" can be either the user's email address or the special value "me" to indicate the authenticated user.

Chilkat Go Downloads

Go
    success := false

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

    http := chilkat.NewHttp()

    http.SetAuthToken("ACCESS_TOKEN")

    http.SetAccept("application/json")

    resp := chilkat.NewHttpResponse()
    success = http.HttpNoBody("GET","https://www.googleapis.com/gmail/v1/users/userId/messages",resp)
    if success == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        resp.DisposeHttpResponse()
        return
    }

    fmt.Println("Response Status Code: ", resp.StatusCode())

    jsonResponse := chilkat.NewJsonObject()
    jsonResponse.Load(resp.BodyStr())
    jsonResponse.SetEmitCompact(false)
    fmt.Println(*jsonResponse.Emit())

    if resp.StatusCode() != 200 {
        fmt.Println("Failed.")
        http.DisposeHttp()
        resp.DisposeHttpResponse()
        jsonResponse.DisposeJsonObject()
        return
    }

    // {
    //   "messages": [
    //     users.messages Resource
    //   ],
    //   "nextPageToken": string,
    //   "resultSizeEstimate": unsigned integer
    // }

    var id *string = new(string)
    var threadId *string = new(string)

    resultSizeEstimate := jsonResponse.IntOf("resultSizeEstimate")
    i := 0
    count_i := jsonResponse.SizeOfArray("messages")
    for i < count_i {
        jsonResponse.SetI(i)
        id = jsonResponse.StringOf("messages[i].id")
        threadId = jsonResponse.StringOf("messages[i].threadId")
        i = i + 1
    }


    http.DisposeHttp()
    resp.DisposeHttpResponse()
    jsonResponse.DisposeJsonObject()