Chromeosdevices:列出带有页面令牌的API错误

We are trying to fetch ChromeOS end points. We use page token to fetch the next page. When the token expires, we renew the token and try to resume polling. But we get error saying page token is invalid.

If we do not use page token, we get back page 0.

So question is how do we resume polling using renewed page token?

srv, err := admin.New(client)
if err != nil {
    log.Fatalf("Unable to retrieve directory Client %v", err)
}

pageID := 1
pageToken := ""
sleep := false
for {
    log.Printf("Fetch page: %d", pageID)

    srv := srv.Chromeosdevices.List("my_customer").MaxResults(1).Projection("FULL")
    if pageToken != "" {
        srv = srv.PageToken(pageToken)
    }
    r, err := srv.Do()
    if err != nil {
        log.Fatalf("Unable to retrieve devices: %v", err)
    }

    if len(r.Chromeosdevices) == 0 {
        log.Printf("No devices found")
        break
    }

    for _, u := range r.Chromeosdevices {
        log.Printf("Page(%d) MAc: %s Model: %s", pageID, u.MacAddress, u.Model)
    }

    time.Sleep(3 * time.Second)

    pageToken = r.NextPageToken

    if pageToken == "" {
        log.Printf("Completed with all pages")
        break
    }

    pageID += 1

    if !sleep {
        log.Printf("Sleeping for 70 minutes")
        time.Sleep(4200 * time.Second)
        sleep = true
        log.Printf("Done Sleeping for 70 minutes")
    }