前提・実現したいこと
youtube api を使った動画チャットサイト
発生している問題・エラーメッセージ
youtube apiを使った動画投稿機能を作成したい。
キーワード検索から、youtubeのチャンネルID、動画ID、動画タイトル等取得ができたのですが、
取得データをDBに保存することが可能なのでしょうか
###キーワード機能機能(find_videos)と該当データを表示
youtubes_controller
require 'google/apis/youtube_v3' #YoutubeV3を使用するために、呼び出す require 'optimist' def find_videos(keyword, after: 7.months.ago, before: Time.now) youtube = Google::Apis::YoutubeV3::YouTubeService.new youtube.key = Rails.application.credentials.youtube[:api_key] keyword = params[:search] #キーワード検索した値を代入 next_page_token = nil opt = { q: keyword, #検索クエリで該当するワードを検索 type: 'video', max_results: 10, order: :date, page_token: next_page_token, published_after: after.iso8601, published_before: before.iso8601 } youtube.list_searches(:snippet, opt) end def index @youtubes = find_videos(@keyword) end
###検索ワードの入力と該当データを一覧表示する
index.html.erb
<div class = "search"> <%= form_tag(find_videos_youtubes_path, method: :get) do %> <%= text_field_tag :search, "", placeholder:"何かお探しですか?"%> <%= submit_tag 'search' %> <% end %> </div> <% @youtubes.items.each do |item| %> <% @snippet = item.snippet %> <% @video_id = item.id.video_id %> <p><%= @snippet.title %></p> <p><%= @snippet.published_at %><%= @snippet.channel_title %></p> <div><iframe width="356" height="200" src="https://www.youtube.com/embed/<%= @video_id %>" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></div> <%= link_to "投稿する", new_youtube_path %> <% end %>
試したこと
link_to でnewアクションに遷移する際に値を引数にして渡したのですが、
デバックツールで確認しても値が入っていない
そもそもyoutube data api で取得したデータは、DBに保存できないのでしょうか?
改善策が見つからなく困っております。
拙い説明ですが、分かる方がいらっしゃったらアドバイスをいただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/03 09:53 編集
2020/09/03 08:20
2020/09/03 09:51