为什么即使我们使用写在先前 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
和以下参数:
part
: "id"
forMine
: true
type
: "video"
maxResults
: 50
然后,我们可以得到如下结果:
{
"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。
part
: "id"
forMine
: true
type
: "video"
maxResults
: 50
pageToken
:"SampleNextPageTokenParamXXX"
(已添加)
然后,我们有两种情况。
- [成功案例]可以得到结果
- [失败案例] 收到以下结果:
{
"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
我正在创建 YouTube 的指标监控功能。但是我在使用 YouTube 数据时遇到了一个令人困惑的问题 API。
我想检索一个 YouTube 频道的所有视频 ID。我在这个过程中使用 Lambda。
在 API 调用之前,我每次都在 Lambda 中刷新访问令牌。
为了检索视频 ID,我使用了 search#list
和以下参数:
part
:"id"
forMine
:true
type
:"video"
maxResults
:50
然后,我们可以得到如下结果:
{
"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。
part
:"id"
forMine
:true
type
:"video"
maxResults
:50
pageToken
:"SampleNextPageTokenParamXXX"
(已添加)
然后,我们有两种情况。
- [成功案例]可以得到结果
- [失败案例] 收到以下结果:
{
"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