用于任意页面的Youtube数据API v3 pageToken?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (162)

这上面的另一个问题显示,对于不同的搜索,pageTokens是相同的,前提是页面号和maxResults设置是相同的。

API的第2版允许通过设置起始位置进入任意页面,但是v3只提供Next和以前的令牌。即使你知道有5页的结果,也不会从第1页跳到第5页。

我们怎么解决这个问题?

提问于
用户回答回答于

由于我主要是一个php用户,下面是用于获取给定页面的pageToken的函数:

function token($limit, $page) {
    $start = 1 + ($page - 1) * $limit;
    $third_chars = array_merge(
            range("A","Z",4),
            range("c","z",4),
            range(0,9,4));
    return 'C'.
           chr(ord('A') + floor($start / 16)).
           $third_chars[($start % 16) - 1].
           'QAA';
}
$limit = 1;
echo "With $limit result(s) per page...".PHP_EOL;
for ($i = 1; $i < 6; ++$i) {
    echo "The token for page $i is ".token($limit, $i).PHP_EOL;
}
用户回答回答于

使用^ Quihico的文件作为参考点,我在JS中编写了对前一张海报的pageToken生成器的增强功能。如果我的假设是正确的4000s位置编码如何变化超过N> = 98304,它应该能够构建一个以第N项开头的页面的pageToken,在[0,4194304]中提供N. 它只测试了N = 99999,所以YMMV。

链接到这里:https//github.com/aricearice/useful-tools/blob/master/youtube-page-token-generator.js

扫码关注云+社区

领取腾讯云代金券