タイトルのとおりのことをしたく、下記ページを参考に(ほぼ丸写しで内容はあまり理解できていません)、コントローラとビューは作りました。
https://qiita.com/sakakinn/items/46c0d4945e4646f346f6
ただ、エラーが出てしまいます。
引数のところ、期待値が1つに対して、2つ与えられているというエラーなのかなと思うのですが、参考ページどおりにしているので、なぜなんだというところです・・・。
わかる方、教えていただけますでしょうか。
よろしくお願いいたします。
APIキーは取得済みで、dotenvに記述しています。
env
1# YouTube用 2GOOGLE_API_KEY = "YoutubeV3のAPIキーを入れています"
youtube_controller.rb
1class YoutubeController < ApplicationController 2 GOOGLE_API_KEY = ENV["GOOGLE_API_KEY"] 3 4 def find_videos(keyword, after: 1.months.ago, before: Time.now) 5 service = Google::Apis::YoutubeV3::YouTubeService.new 6 service.key = GOOGLE_API_KEY 7 8 next_page_token = nil 9 opt = { 10 q: keyword, 11 type: 'video', 12 max_results: 3, 13 order: :date, 14 page_token: next_page_token, 15 published_after: after.iso8601, 16 published_before: before.iso8601 17 } 18 service.list_searches(:snippet, opt) 19 end 20 21 def index 22 @youtube_data = find_videos('こちらで指定のキーワード') 23 end 24 end
index.html.erb
1<% @youtube_data.items.each do |item| %> 2 <% snippet = item.snippet %> 3 <p><%= snippet.title %></p> 4 <p><%= snippet.published_at %><%= snippet.channel_title %></p> 5 <div><iframe width="560" height="315" src="https://www.youtube.com/embed/<%= item.id.video_id %>" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div> 6<% end %>
routes.rb
1Rails.application.routes.draw do 2 get "/", to: "home#top" 3 get "about", to: "home#about" 4 get "index", to: "youtube#index" 5end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/11 08:26
2022/02/11 12:01