我正在使用iTunes搜索API(更具体地说,这是rails的宝石)作为应用程序,其中最重要的查询部分是流派。我有一个清单,用户可以在其中选择某个类型,并在查询中搜索匹配的genreId。但是,我不知道在术语字段中放什么,该字段将应用于返回的所有结果,并且我不能省略该属性,因为它是必需的。如果我输入类型的名称,比如"技术",那么只返回标题或艺术家名称中带有"技术"一词的播客,这并不理想。
ITunesSearchAPI.search(:term=> "????", :genreId=> @genre_id , :country => "US", :entity=> "podcast", :media => "podcast", :limit => 15)
根据iTunes搜索API文档,我已经尝试过"+",因为"URL编码将空格替换为加(+)字符"。我也尝试过"播客",它产生了与上面相同的问题。有什么办法绕过这个问题吗?
不能绕过term
,因为它是必需的参数。
要使url编码字符串,您需要使用URI::encode('string')
方法。
像这样:
require 'open-uri'
ITunesSearchAPI.search(:term=> URI::encode('Super mega podcast'), :genreId=> @genre_id , :country => "US", :entity=> "podcast", :media => "podcast", :limit => 15)