Google api NextPageToken提供无效输入错误,400-Google目录API ChomeDevices

Google api NextPageToken提供无效输入错误,400-Google目录API ChomeDevices,google-api,google-oauth,google-api-client,google-admin-sdk,google-directory-api,Google Api,Google Oauth,Google Api Client,Google Admin Sdk,Google Directory Api,我必须从google workspace(Gsuite)获取25万本Chromebook,我正在使用管理目录API从google检索JSON数据 响应以200条记录的块返回,在响应中包含一个nextPageToken,我使用下一页标记检索下一个200条记录,以此类推 一个小时后,使用上一个请求附带的nextPageToken,但是Google返回错误400 {错误代码:400,“消息”=>“无效输入:CMiJhq7-5ewCEp0BCm737N8GN……” 注意:谷歌称之为无效的字符串“CMiJ

我必须从google workspace(Gsuite)获取25万本Chromebook,我正在使用管理目录API从google检索JSON数据

响应以200条记录的块返回,在响应中包含一个
nextPageToken
,我使用下一页标记检索下一个200条记录,以此类推

一个小时后,使用上一个请求附带的
nextPageToken
,但是Google返回错误400

{错误代码:400,“消息”=>“无效输入:CMiJhq7-5ewCEp0BCm737N8GN……”

注意:谷歌称之为无效的字符串“CMiJhq7-5ewCEp0BCm737N8GN……”是下一个getoken

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

我的代码片段:

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

发送初始请求时,将创建下一页令牌。此令牌用于从请求中获取下一批行

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

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


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

我不得不改变我的方法,最初,我从Google API获取了200个区块,执行了一些耗时的处理,然后将条目输入到我的数据库中(数据库密集型任务)然后请求接下来的200块等等。一小时后,谷歌发送的最后一个nextpagetoken无效

因此,现在我获取200个块,将它们以JSON格式保存到我的数据库中,而不执行任何数据库密集型任务,请求下一个200块,以此类推。在下一个GetOken失效之前的大约56分钟内,我从google获取了300K Chromebooks JSON数据


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

每次google向我发送新的nextPageToken时,我都会这样做,我用它来请求下一个分页的200个块。但是,1小时后,最新的nextPageToken在使用时不会返回下一个200,但会给我一个无效的\u输入,400错误。您需要一小时来查看响应?那你需要加快速度。你调用的是哪种方法?你是否检查了是否有办法增加响应中返回的行数。明白了,我以为nextPageToken没有过期,链接到让我认为它没有过期的答案:,我将改变我的方法,首先获取所有块,然后处理。谢谢@daimto