質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

受付中

RailsでYouTubeのAPIを叩いて、こちらで固定したキーワードで見つかった動画をビューに表示させたい

Keight
Keight

総合スコア8

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1回答

1評価

1クリップ

237閲覧

投稿2022/02/11 05:08

タイトルのとおりのことをしたく、下記ページを参考に(ほぼ丸写しで内容はあまり理解できていません)、コントローラとビューは作りました。
https://qiita.com/sakakinn/items/46c0d4945e4646f346f6

ただ、エラーが出てしまいます。

イメージ説明

引数のところ、期待値が1つに対して、2つ与えられているというエラーなのかなと思うのですが、参考ページどおりにしているので、なぜなんだというところです・・・。
わかる方、教えていただけますでしょうか。
よろしくお願いいたします。

APIキーは取得済みで、dotenvに記述しています。

env

# YouTube用 GOOGLE_API_KEY = "YoutubeV3のAPIキーを入れています"

youtube_controller.rb

class YoutubeController < ApplicationController GOOGLE_API_KEY = ENV["GOOGLE_API_KEY"] def find_videos(keyword, after: 1.months.ago, before: Time.now) service = Google::Apis::YoutubeV3::YouTubeService.new service.key = GOOGLE_API_KEY next_page_token = nil opt = { q: keyword, type: 'video', max_results: 3, order: :date, page_token: next_page_token, published_after: after.iso8601, published_before: before.iso8601 } service.list_searches(:snippet, opt) end def index @youtube_data = find_videos('こちらで指定のキーワード') end end

index.html.erb

<% @youtube_data.items.each do |item| %> <% snippet = item.snippet %> <p><%= snippet.title %></p> <p><%= snippet.published_at %><%= snippet.channel_title %></p> <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> <% end %>

routes.rb

Rails.application.routes.draw do get "/", to: "home#top" get "about", to: "home#about" get "index", to: "youtube#index" end

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

YouTube API

YouTube APIはYouTubeのビデオコンテンツと機能性をウェブサイト、アプリケーション、デバイスに統合することを可能にします。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。