youtube data apiからデータを取ってくる

実現したいこと

youtube data api を利用して、youtubeのデータをとってきたい。

前提

youtube data apiを利用したサービスを作っています。
サイトの仕組みは、まずアニメを調べることができ、その詳細ページに行くとそのアニメに関するyoutubeが表示されるという形です。
該当のソースコードに示す@info["title"]にアニメのタイトルが入ります。

APIキー自体は正しく動いており、APIキーを直接URLに入れて調べると、データが出てきます。ただ、コードに落とし込んでサービスにしようとするとエラーが起きてしまうので、おそらくコードの問題です。
(今回はAPI_KEYがばれないようAPI_KEYの部分は伏せてあります)

発生している問題・エラーメッセージ

NameError at /info/2020/2/1104 undefined local variable or method `youtube' for #<Sinatra::Application:0x0000000003966560

該当のソースコード

ruby

1API_KEY = "API_KEY"2youtube = Google::Apis::YoutubeV3::YouTubeService.new3youtube.key = API_KEY4 5def youtube_search(query)6 response = youtube.list_searches('id,snippet', q: query, type: 'video', max_results: 4)7 response.items.map { |item| { title: item.snippet.title, video_id: item.id.video_id } }8end9 10 11get '/info' do12 /*省略*/13 search_query=@info["title"].to_s 14 @videos=youtube_search(search_query)15 erb:info16end

試したこと

APIキーは正しいのかの確認。

補足情報(FW/ツールのバージョンなど)

コメントを投稿

0 コメント