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

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

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

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

NullPointerException

null値の参照型変数を参照しようとした場合に投げられる、Javaにおける例外のひとつです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

解決済

本番環境(heroku)でYouTube Data APIが動かない

Yakusugi
Yakusugi

総合スコア0

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

NullPointerException

null値の参照型変数を参照しようとした場合に投げられる、Javaにおける例外のひとつです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

1回答

0評価

0クリップ

1586閲覧

投稿2021/01/12 11:51

前提・実現したいこと

youtube data apiを使い過去に自分が高評価した動画、動画の検索を検索し返すwebアプリを作り
本番環境でも稼働させたい
herokuでデプロイした後apiを使用するviewに移行するとエラーになります。

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

開発環境ではうまくviewが表示されるのに本番環境でapiを使っているページに遷移したとたんこれです。
イメージ説明

heroku logs

2021-01-25T00:38:01.611497+00:00 heroku[router]: at=info method=GET path="/juntubes" host=youtube5recommends.herokuapp.com request_id=0ac5167b-859d-46c8-a05b-980a6427858a fwd="175.132.75.115" dyno=web.1 connect=1ms service=36ms status=500 bytes=1827 protocol=https

該当のソースコード

コードの意図としてはlist_searchesという用意されたメソッドを使い例えば「ado」と検索すると_order関数から1つ動画を取得する指標を作りランダムでそれに準じた動画を1つ返してくれます。
それをviewに表示します。

ruby

def index response = youtube_search('ado') @items = response.items end private def _order %w[relevance videoCount viewCount].sample end def youtube_search(keyword) option = { q: keyword, type: 'video', max_results: 1, order: _order } resopnse = @@service.list_searches('snippet', option) return resopnse end

試したこと

githubにあった試したこと
上記のようにapiキーのapplicationの設定を「なし」にしAPIの制限をyoutube data api v3のみにしたりしましたが開発環境で動いても本番環境ではエラーになってしまいます

dbは使っていないのですが heroku run rails db:migrateコマンドも行いました。

また、indexメソッド内の記述をなくしviewも関係ないものにしたらページ遷移できたためおそらくこのコントローラーもしくはapiの問題だと考えています。

###apikeyの現状
この状態で開発環境では正常に動作します
イメージ説明
試しにアプリケーションの制限でHTTPリファラーを選択しurlを加えるとページ遷移で
以下のエラーになります。
イメージ説明

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

Github(今回のリポジトリ)
windows os
ruby -v 2.5.8
rails -v 6.1.1
api youtube data api v3

宜しくお願い致します。

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

hoshi-takanori
hoshi-takanori

2021/01/12 12:15

activity_main.xml の TextView に id を設定しましょう。
Yakusugi
Yakusugi

2021/01/12 12:21

修正依頼ありがとうございます。 idの設定を試してみたのですが、下記だとエラーが出てしまいます。 android:id=text どのような設定が必要か、今一度ご教示頂く事は可能でしょうか。
Yakusugi
Yakusugi

2021/01/12 12:26

android:id="@+id/text"を入れたら正常に動きました。 ありがとうございました。

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

NullPointerException

null値の参照型変数を参照しようとした場合に投げられる、Javaにおける例外のひとつです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。