php – 任意页面的Youtube Data API v3 pageToken
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 任意页面的Youtube Data API v3 pageToken,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1741字,纯文字阅读大概需要3分钟。
内容图文
![php – 任意页面的Youtube Data API v3 pageToken](/upload/InfoBanner/zyjiaocheng/705/abe7d4f50d234503b8f22ad765e7be45.jpg)
关于SO的另一个问题显示,如果页码和maxResults设置相同,则pageTokens对于不同的搜索是相同的.
API的第2版允许您通过设置起始位置转到任意页面,但v3仅提供下一个和上一个令牌.即使你知道有5页的结果,也没有从第1页跳到第5页.
那么我们如何解决这个问题呢?
解决方法:
YouTube pageToken长度为六个字符.这是我能够确定的格式:
char 1:我见过的总是’C’.
char 2-3:编码的起始位置
char 4-5:我见过的’QA’.
char 6:’A’表示位置大于或等于起始位置的列表项. ‘Q’表示开始位置之前的列表项.
由于字符6的性质,有两种不同的方式来表示同一页面.给定maxResults = 1,可以通过将页面标记设置为“CAEQAA”或“CAIQAQ”来访问第2页.第一个意味着从结果编号2开始(由字符2-3“AE”表示)和列表1项目.第二种方法是在结果编号3之前返回一个项目(由字符2-3“AI”表示.
字符2-3是奇怪的基数16编码.
字符3使用AZ中的列表,然后是az,然后是0-9,并且在列表中每增加1,增量为4.系列是A,E,I,M,Q,U,Y,c,g,k ,O,S,W,0,4,8.字符2从A到B到C到D,依此类推.为了我的目的,我不使用大型结果集,所以我没有费心去看看第二个字符超过几百个结果会发生什么.也许使用较大集合的人将提供关于角色2在此之后的行为的更新.
由于字符串仅包含起始位置和“> =”或“<”的选项,因此在多种情况下使用相同的字符串.例如,每页有2个结果,第二个页面的起始位置是结果3.对此的pageToken是“CAIQAA”.这与第三页的标记相同,每页有一个结果. 由于我主要是一个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;
}
如果您发现缺陷或增强功能,请在您的项目中测试此功能并更新我们其他人,因为YouTube没有为我们提供简单的方法.
内容总结
以上是互联网集市为您收集整理的php – 任意页面的Youtube Data API v3 pageToken全部内容,希望文章能够帮你解决php – 任意页面的Youtube Data API v3 pageToken所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。