Rotten Tomatoes APIを介してタイトルで映画を検索する次の関数があります。タイトルは、誤って基本的な英語で綴られていない可能性があります。HTTParty gemを使用して API をラップします。
def self.search_by_title(title)
options = {query: {apikey: "secret", page_limit: "1" }}
response = self.get("http://api.rottentomatoes.com/api/public/v1.0/movies.json?q=#{CGI.escape(title)}", options)
movie = JSON.parse(response.body)
end
たとえば、次のようなリクエストを行うとします (映画「羅生門」を検索してください)。
http://api.rottentomatoes.com/api/public/v1.0/movies.json?q=#{CGI.escape(Rashômon)}&apikey=apikey
空のハッシュを返します
{"total"=>0, "movies"=>[], "links"=>{"self"=>"http://api.rottentomatoes.com/api/public/v1.0/movies.json?q=Rash%C3%83%C2%B4mon&page_limit=1&page=1"}
「羅生門」だけで代用してもOKです。しかし、私はこれらのタイトルを 3d パーティ API 経由で取得し、そのような形式でタイトルを提供することもあります。
おそらく他の ID (imdb_id、英語名など) で検索する必要があることはわかっていますが、これらの変数を提供できず、フォールバック関数として search_by_title を使用できない場合があります。
それを回避する方法はありますか?