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

时间:2018-08-22 21:21:43

标签: go google-admin-sdk

我们正在尝试获取ChromeOS端点。我们使用页面令牌来获取下一页。当令牌过期时,我们会更新令牌并尝试恢复轮询。但是我们收到错误消息,指出页面令牌无效。

如果我们不使用页面令牌,则会返回第0页。

所以问题是我们如何使用更新的页面令牌恢复轮询?

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")
    }

0 个答案:

没有答案