NextPageToken 给出无效输入错误,400 - Google Directory API ChomeDevices

NextPageToken gives invalid input error, 400 - Google Directory API ChomeDevices

我必须从 google 工作区 (Gsuite) 获取 250K chromebook,我正在使用管理目录 API 从 Google.[=16 检索 JSON 数据=]

响应 returns 以 200 条记录为一组,响应中包含一个 nextPageToken,我使用该下一页标记来检索下 200 条,依此类推。

一个小时后,使用上一个请求附加的 nextPageToken,但是 Google returns 出现错误 400,

{error_code: 400, "message"=>"Invalid Input: CMiJhq7-5ewCEp0BCm737N8GN......"},

注意:google 调用的这个字符串 'CMiJhq7-5ewCEp0BCm737N8GN......' 是 nextPageToken。

为什么会这样? nextPageToken 会在 1 小时后过期吗?

我的代码片段:

query_list = {
      'maxResults' => 200,
      'access_token' => access_token,
      'pageToken' => next_page_token
    }
HTTParty.get(endpoint_url, query: query_list)

nextPage 令牌是在发送初始请求时创建的。此令牌用于从请求中获取下一批行。

此令牌应立即使用,因为如果等待时间过长,与初始请求关联的数据可能会更改。

所以是的,下一页令牌确实会过期,我实际上希望它们会在不到一个小时的时间内过期。我还想知道下一页令牌是否不会在您第一次使用后就过期。

如果您想再次提出相同的请求,我建议您这样做,并在一小时后为您构建新的下一页令牌。

我不得不改变我的方法,最初,我从 Google API 中获取了 200 个块,执行了一些 time-taking 处理,然后将条目输入到我的数据库中(database-intensive 任务),然后请求下一个 200 个块等等。一个小时后,Google 发送的最后一个 nextpagetoken 失效了。

所以,现在我获取 200 个块,将它们以 JSON 格式保存到我的数据库中,而不执行任何 database-intensive 任务,请求下一个 200,等等。在 nextPageToken 失效之前的大约 56 分钟内,我能够从 google 获取 30 万台 Chromebook JSON 数据。

我现在正在处理我数据库中存在的 JSON 数据,没有网络开销或任何 google API 依赖性。