要获取具有特定标记的某个上传者的Feed,请使用以下api url:
http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-/TAG
如果我想搜索带有标记foo
和bar
的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 也会返回相同的结果。
我有什么遗漏,或者一般不可能吗?
答案 0 :(得分:2)
似乎youtube api中存在一个尚未修复的错误。见http://groups.google.com/group/youtube-api-gdata/browse_thread/thread/dc195bd6ad6a1fa4/2d9cf0e15ce7de50
答案 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 格雷格