我正在使用laravel 5.8并使用此软件包https://github.com/alaouy/Youtube
它可以很好地用于检索视频详细信息和按频道ID播放列表视频。 我想从播放列表URL获取播放列表ID。
我尝试过这种方式:
$string = 'http://www.youtube.com/watch?v=A7izsd5IXq8&playnext=1&list=PL6753173C0F0BE9ED';
$url = parse_url($string);
parse_str($url['query'],$q);
$list = $q['list'];
$video = Youtube::getPlaylistItemsByPlaylistId($list);
但是没有用。 它显示此错误:
错误404找不到用请求
playlistId
参数标识的播放列表。 :playlistNotFound
如果您知道,请帮助。
谢谢!
答案 0 :(得分:0)
由于未在代码,您会收到一条错误消息。因此,您将获得无效的播放列表ID ,从而导致错误。 $q
中定义
正如@ miken32在评论中建议的那样,$q
不是这里的问题。只是您的播放列表ID 不存在。
尝试一下:
<?php
$YOUTUBEURL = "http://www.youtube.com/watch?v=A7izsd5IXq8&playnext=1&list=PL6753173C0F0BE9ED";
$QUERIES = array();
parse_str(parse_url($YOUTUBEURL)['query'], $QUERIES);
echo $QUERIES['list']; //playlistid
?>
答案 1 :(得分:0)
您收到该错误消息,因为实际上播放列表PL6753173C0F0BE9ED
不存在:
$ wget \
--quiet \
--no-check-certif \
--output-document=- \
--content-on-error \
--user-agent='...' \
'https://www.googleapis.com/youtube/v3/playlistItems?key=...&playlistId=PL6753173C0F0BE9ED&part=contentDetails,id,snippet,status&maxResults=50'
{
"error": {
"errors": [
{
"domain": "youtube.playlistItem",
"reason": "playlistNotFound",
"message": "The playlist identified with the requests \u003ccode\u003eplaylistId\u003c/code\u003e parameter cannot be found.",
"locationType": "parameter",
"location": "playlistId"
}
],
"code": 404,
"message": "The playlist identified with the requests \u003ccode\u003eplaylistId\u003c/code\u003e parameter cannot be found."
}
}
在浏览器中检查视频A7izsd5IXq8
也不存在。