我希望在YouTube中返回视频流的预定日期。
YT Link:https://www.youtube.com/channel/UCP7jMXSY2xbc3KCAE0MHQ-A
这是我使用YouTube v3 API提取此数据的代码:
$videos = $this->yt->searchAdvanced(array(
'q' => '',
'part' => 'snippet',
'channelId' => $this->channel_id,
'eventType' => $event_type, // Upcoming
'type' => 'video',
'order' => 'date',
'maxResults' => $max,
'key' => YOUTUBE_API_KEY
));
如果我使用我的功能获取视频信息,这就是我可以得到的所有信息。这是使用部分:
id, snippet, contentDetails, player, statistics, status
:预定日期在哪里? :
stdClass Object
(
[kind] => youtube#video
[etag] => "q5k97EMVGxODeKcDgp8gnMu79wM/KAZsrzeX5ImiUQpLbwhPR7lo9mA"
[id] => qUAmTYHEyM8
[snippet] => stdClass Object
(
[publishedAt] => 2016-03-03T06:48:50.000Z
[channelId] => UCP7jMXSY2xbc3KCAE0MHQ-A
[title] => Match 3 - Google DeepMind Challenge Match: Lee Sedol vs AlphaGo
[description] => Watch DeepMind's program AlphaGo take on the legendary Lee Sedol (9-dan pro), the top Go player of the past decade, in a $1M 5-game challenge match in Seoul. This is the livestream for Match 3 to be played on: 12th March 13:00 KST (local), 04:00 GMT; note for US viewers this is the day before on: 11th March 20:00 PT, 23:00 ET.
In October 2015, AlphaGo became the first computer program ever to beat a professional Go player by winning 5-0 against the reigning 3-times European Champion Fan Hui (2-dan pro). That work was featured in a front cover article in the science journal Nature in January 2016.
Match commentary by Michael Redmond (9-dan pro) and Chris Garlock.
[thumbnails] => stdClass Object
(
[default] => stdClass Object
(
[url] => https://i.ytimg.com/vi/qUAmTYHEyM8/default_live.jpg
[width] => 120
[height] => 90
)
[medium] => stdClass Object
(
[url] => https://i.ytimg.com/vi/qUAmTYHEyM8/mqdefault_live.jpg
[width] => 320
[height] => 180
)
[high] => stdClass Object
(
[url] => https://i.ytimg.com/vi/qUAmTYHEyM8/hqdefault_live.jpg
[width] => 480
[height] => 360
)
[standard] => stdClass Object
(
[url] => https://i.ytimg.com/vi/qUAmTYHEyM8/sddefault_live.jpg
[width] => 640
[height] => 480
)
[maxres] => stdClass Object
(
[url] => https://i.ytimg.com/vi/qUAmTYHEyM8/maxresdefault_live.jpg
[width] => 1280
[height] => 720
)
)
[channelTitle] => DeepMind
[categoryId] => 28
[liveBroadcastContent] => upcoming
[localized] => stdClass Object
(
[title] => Match 3 - Google DeepMind Challenge Match: Lee Sedol vs AlphaGo
[description] => Watch DeepMind's program AlphaGo take on the legendary Lee Sedol (9-dan pro), the top Go player of the past decade, in a $1M 5-game challenge match in Seoul. This is the livestream for Match 3 to be played on: 12th March 13:00 KST (local), 04:00 GMT; note for US viewers this is the day before on: 11th March 20:00 PT, 23:00 ET.
In October 2015, AlphaGo became the first computer program ever to beat a professional Go player by winning 5-0 against the reigning 3-times European Champion Fan Hui (2-dan pro). That work was featured in a front cover article in the science journal Nature in January 2016.
Match commentary by Michael Redmond (9-dan pro) and Chris Garlock.
)
)
[contentDetails] => stdClass Object
(
[duration] => PT0S
[dimension] => 2d
[definition] => sd
[caption] => false
[licensedContent] => 1
)
[status] => stdClass Object
(
[uploadStatus] => uploaded
[privacyStatus] => public
[license] => youtube
[embeddable] => 1
[publicStatsViewable] => 1
)
[statistics] => stdClass Object
(
[viewCount] => 41
[likeCount] => 1
[dislikeCount] => 0
[favoriteCount] => 0
[commentCount] => 0
)
[player] => stdClass Object
(
[embedHtml] =>
)
)
请注意,我突出显示的发布日期是不日程安排日期。
如您所见,没有预定日期。我是否需要将更多数据传递给“部分”?他们的API表明没有更多数据可以撤回。
https://developers.google.com/youtube/v3/docs/search/list#request
由于
答案 0 :(得分:3)
好的,我把它解决了。
只需将liveStreamingDetails
添加到part
参数。
我试图通过search.list
来实现这一目标。而是使用videos.list
和liveStreamingDetails
来获取日程安排日期,search.list
不支持liveStreamingDetails
。
干杯
答案 1 :(得分:0)
YouTube Live Streaming API的list
文档中有一个相关示例:
non-null
...检索有关所有活动,已完成或即将进行的实时广播的信息。请注意,也将broadcastStatus参数设置为all,以确保响应中包括所有匹配的广播。
list (by broadcast status)
开始时间可以在GET https://www.googleapis.com/youtube/v3/liveBroadcasts?part=snippet%2CcontentDetails%2Cstatus&broadcastStatus=active&broadcastType=all&key=[YOUR_API_KEY] HTTP/1.1
Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json
中找到,其中将包含ISO格式的part=liveStreamingDetails
和scheduledStartTime
。