处理和在 Youtube API 查询中



我第一次试过

class Youtube
   def search_url(term)
     url = "https://gdata.youtube.com/feeds/api/videos"
     url += "?q=#{term}&alt=json&restriction=US&max-results=50&orderby=viewCount"
 url += "&fields=entry(id,title,yt:noembed,media:group(media:description),author(name),yt:statistics(@viewCount))"
     url += "&key=#{DEV_KEY}"

但是它不能处理像"Macklemore &瑞安Lewis "

然后有人建议

require 'cgi'
class Youtube
  def search_url(term)
    term = CGI.escape(term)
    url = "https://gdata.youtube.com/feeds/api/videos"
    url += "?q=#{term}&alt=json&restriction=US&max-results=50&orderby=viewCount"
    url += "&fields=entry(id,title,yt:noembed,media:group(media:description),author(name),yt:statistics(@viewCount))"
    url += "&key=#{DEV_KEY}"

但这并没有解决问题。但它只是使以前工作的查询不再工作。

在Firefox中打开这两个链接(其他浏览器似乎无法打开它们)

瑞安

https://gdata.youtube.com/feeds/api/videos?q=Macklemore + % 26 + + Lewis&限制= US&效果= 50,orderby = viewCounthttps://gdata.youtube.com/feeds/api/videos?q=Macklemore,瑞安Lewis&限制= US&效果= 50,orderby viewCount

=

告诉我查询中的"&"确实影响很大。

如何才能真正解决这个问题?

不能使用&在q=中不转义。&URL中的%26似乎是正确的。如果&

当我在youtube.com上搜索只有一个词:&然后浏览器显示url: http://www.youtube.com/results?search_query=%26

相关内容

  • 没有找到相关文章

最新更新