由于浏览器中的youtube不允许我们选择特定的时间范围(它只有特定的过滤器,例如“今年”,“本月”,“本周”),因此我选择对youtube使用python API,因为我需要提取特定时间范围内的一些视频。youtube API最多允许每个服务调用50个结果。因此,我们需要遍历结果并在后续服务调用中传递下一页令牌,以实现分页和提取数据。但是,在将nextPageToken传递到服务调用时,我没有得到任何结果。API调用的输入和输出在下面提到
**1st service call Input:**
part : id,snippet
maxResults : 50
order : date
publishedAfter : 2018-06-01T00:00:00Z
publishedBefore : 2018-06-07T00:00:00Z
q : rice water hair
type : video
**1st service call Output:**
{
"nextPageToken: "CDIQAA",
"pageInfo": {
"totalResults": 3957,
"resultsPerPage": 50
},
"items":[
///it has a list of 20 items even though I have specified max results as 50///
]
}
**2nd service call Input:**
part : id,snippet
maxResults : 50
order : date
pageToken : CDIQAA
publishedAfter : 2018-06-01T00:00:00Z
publishedBefore : 2018-06-07T00:00:00Z
q : rice water hair
type : video
**2nd service call Output:**
{
"nextPageToken": "CGQQAA",
"pageInfo": {
"totalResults": 3957,
"resultsPerPage": 50
},
"items": [
///empty list///
]
}
我已经在google开发人员控制台中尝试了上述方法以及使用python api代码。两者均产生相同的输出。此查询的结果总数为3957(在两个api调用的输出中均找到)。 ,我有以下问题
1)当我在输入中传递nextPageToken时,为什么第二个服务调用的输出中没有结果(空项目列表)?
2)为什么即使我将最大结果指定为50,第一个服务调用的输出也只返回20个结果?