为什么即使我们使用写在先前 API 结果上的 `nextPageToken`,收集视频 ID 的请求也会失败?

Why the request for collecting video IDs failed even if we are using `nextPageToken` written on the previous API result?

我正在创建 YouTube 的指标监控功能。但是我在使用 YouTube 数据时遇到了一个令人困惑的问题 API。

我想检索一个 YouTube 频道的所有视频 ID。我在这个过程中使用 Lambda。
在 API 调用之前,我每次都在 Lambda 中刷新访问令牌。
为了检索视频 ID,我使用了 search#list 和以下参数:

然后,我们可以得到如下结果:

{
  "kind": "youtube#searchListResponse",
  "etag": "7d3zMRNK3SwAAdU_zX5Yo9oMezw",
  "nextPageToken": "SampleNextPageTokenParamXXX",
  "pageInfo": {
    "totalResults": 54,
    "resultsPerPage": 50
  },
  "items": [
    {
      "kind": "youtube#searchResult",
      "etag": "etag1",
      "id": {
        "kind": "youtube#video",
        "videoId": "sampleVideoId1"
      }
    },
    {
      "kind": "youtube#searchResult",
      "etag": "etag2",
      "id": {
        "kind": "youtube#video",
        "videoId": "sampleVideoId2"
      }
    },
    ...
}

接下来,我尝试用以下代码调用 API。

然后,我们有两种情况。

  1. [成功案例]可以得到结果
  2. [失败案例] 收到以下结果:
{
    "error": {
        "code": 400,
        "message": "Therequestspecifiesaninvalidpagetoken.",
        "errors": [
            {
                "message": "The request specifies an invalid page token.",
                "domain": "youtube.parameter",
                "reason": "invalidPageToken",
                "location": "pageToken",
                "locationType": "parameter"
            }
        ]
    }
}

我认为这个问题是由访问令牌的管理解决方案引起的,当访问令牌被并行工作的其他进程或 Lambda 的自动重试进程停用时,就会发生这种情况。 但是如果除了代币的观点,你还有什么解决方案,能不能告诉我们?最好的问候。

似乎存在暂时性(在 Google 中已知)问题,nextPageToken 无法正常工作。

Google 的工作人员报告说它已修复:'400 invalidPageToken' error returned for a valid Next Page Token