通过标记中包含空格的标记获取youtube视频Feed

时间:2011-06-14 10:35:17

标签: php url youtube-api

要获取具有特定标记的某个上传者的Feed,请使用以下api url:

http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-/TAG

如果我想搜索带有标记foobar的Feed,我会使用以下内容:

http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-/foo/bar

但是,因为youtube允许您指定带空格的标记,即"foo bar",所以我想要准确搜索此标记。因此,当我在PHP中将第一个URL与urlencode结合使用时,它不会返回任何内容。

在浏览器中,网址将更改为。../uploads/-/foo%20bar,但也无效。

当我使用uploads/-/foo/bar时,问题是它会返回标记为'foo' 'bar'(错误)的视频,或仅返回{{1} (右)。

我还尝试用'foo bar'/+替换空格。使用URL中的 keywords.cat scheme 也会返回相同的结果。

我有什么遗漏,或者一般不可能吗?

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

如前所述,有一个YouTube bug,但您可以使用%2B(+)代替空格来解决它。

所以使用你的例子:

http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-/foo%2Bbar

我会将此添加为评论,但我缺少代表。

答案 2 :(得分:0)

http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-/ {HTTP%3A%2F%2Fgdata.youtube.com%2Fschemas%2F2007%2Fkeywords.cat} FOO +酒吧

尝试使用代码前指定的keywords.cat。

答案 3 :(得分:0)

我遇到了同样的问题,并且能够通过使用它来使其工作 https://gdata.youtube.com/feeds/api/videos?q=格式。
https://gdata.youtube.com/feeds/api/videos?q=+Team%20Fortress%202
您可以将+更改为-来确认 https://gdata.youtube.com/feeds/api/videos?q=-Team%20Fortress%202

这样做的缺点是q参数会查询视频的所有元数据,因此请进行相应调整。

HTH 格雷格