问题描述
|
为了获得具有特定标签的特定上传者的供稿,我使用以下api网址:
http://gdata.youtube.com/Feeds/api/users/UPLOADER/uploads/-/TAG
如果我想搜索标签为foo
和bar
的供稿,则可以使用以下代码:
http://gdata.youtube.com/Feeds/api/users/UPLOADER/uploads/-/foo/bar
但是由于youtube允许您指定带有空格的标签,即\"foo bar\"
,因此我想精确搜索该标签。因此,当我在PHP中将第一个URL与urlencode结合使用时,它不会返回任何内容。
在浏览器中,URL将更改为.../uploads/-/foo%20bar
,但也没有结果。
当我使用uploads/-/foo/bar
时,问题在于它返回的视频标签为\'foo\'
和\'bar\'
(错误),或者只有\'foo bar\'
(右侧)。
我还尝试用/
,+
和-
代替空格。在URL中使用keyword.cat方案也将返回相同的结果。
我有什么想念的吗,还是一般不可能?
解决方法
似乎youtube api中有一个尚未修复的错误。参见http://groups.google.com/group/youtube-api-gdata/browse_thread/thread/dc195bd6ad6a1fa4/2d9cf0e15ce7de50
, 如前所述,有一个YouTube错误,但是您可以使用%2B(+)代替空格来解决它。
因此,使用您的示例:
http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-/foo%2Bbar
我会将其添加为评论,但我没有代表。
, http://gdata.youtube.com/feeds/api/users/UPLOADER/uploads/-//{http%3A%2F%2Fgdata.youtube.com%2Fschemas%2F2007%2Fkeywords.cat}foo+bar
尝试在标签之前指定的keyword.cat。
, 我遇到了同样的问题,并能够通过使用
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
不利的是the16ѭ参数将查询视频的所有元数据,因此请进行相应调整。
高度
格雷格