2017-07-07 13 views
1

Spotify API用のルビーラッパーであるRSpotifyを使いこなしていました。Spotify Web APIのルビーラッパーを使用しようとしたときに未定義のメソッドを取得する

私は、フォームを追加し、APIで検索するように検索結果のparamを送ったが、私は次のエラーを取得しています:

NoMethodError: undefined method `empty?' for nil:NilClass 
from /Users/user/.rvm/gems/ruby-2.3.1/gems/rspotify-1.21.0/lib/rspotify/connection.rb:71:in `send_request' 

私はダブルチェックして、宝石を再インストールし、gemfileにこれを追加しましたそしてすべて。なぜそれが動作していないのかわからない。

は、ここでのコードだ(それは数週間前、私はそれを書いた時に働いていた):

post '/music' do 
    search = RSpotify::Artist.search(params[:search]) 
    @artist = search.first 
    @image = @artist.images.first["url"] 
    @top_tracks = @artist.top_tracks(:US) 
    albums = @artist.albums 
    @titles = [] 
    albums.each { |album| @titles << album.name } 
    @titles.uniq! 
    @related_artists = @artist.related_artists 
    erb :'/music/show' 
end 
+0

https://github.com/guilhermesad/rspotify/issues/123-既知の問題のように見え、誰かがそれを修正してプルリクエストを待っています。 –

答えて

1

あなたは(あなたの出力から判断し、1.21.0)古いバージョンを使用しているように見えます。現在のバージョンは1.22.1です(https://rubygems.org/gems/rspotify参照)=>多分更新を試みてください。

また、Jeff氏のように、明らかに、この問題は正しく認証されていない場合に発生するというGitHubの問題があります。だから、あなたの資格情報が1)と2)が有効であることを確認してください。資格情報を確認する簡単な方法は、APIで直接使用することです(http://www.compciv.org/recipes/data/touring-the-spotify-api/参照)。>そこで動作しない場合は、おそらくコードではなく、資格情報が正しく機能していないと思われます。

+0

ねえ、私は実際に古いバージョンを使っていました。あなたが言ったように、あなたは今認証される必要があるようですね?もともと私はそれを避け、簡単な検索 - >結果フォームを使って、誰でもアーティスト/バンドから情報を得ることができました。うまくいけば、すぐに問題を解決できることを願っています。 – CarlosG90

+0

私はいくつかのURLをテストし、すべてが認証なしで失敗しました。ですから、私はあなたが実際にAPIトークンを必要とすると仮定します。たぶんSpotifyがこれを最近変更したのでしょうか?私は個人的に知りません、私はただ助けようとしています。 :) –

関連する問題