2016-11-14 12 views
0

私は木場ELTを使用しています、私は、YouTubeでのチュートリアルだけでなく、所有者が提供するチュートリアルに従っています。しかし、私はこのエラーを取得しています:TMDB :: InvalidApiKeyError(TMDB :: InvalidApiKeyError)

ここ
[email protected]:~/test01$ bundle exec kiba movies.etl 
{ 
    "title: Blade Runner" => "title: Minority Report" 
} 
/home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/themoviedb-1.0.1/lib/themoviedb/api.rb:37:in `set_response': Tmdb::InvalidApiKeyError (Tmdb::InvalidApiKeyError) 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/themoviedb-1.0.1/lib/themoviedb/search.rb:75:in `fetch_response' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/themoviedb-1.0.1/lib/themoviedb/search.rb:60:in `fetch' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/themoviedb-1.0.1/lib/themoviedb/resource.rb:41:in `search' 
    from /home/bitlasoft/test01/common.rb:30:in `process' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/kiba-0.6.1/lib/kiba/runner.rb:35:in `block (3 levels) in process_rows' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/kiba-0.6.1/lib/kiba/runner.rb:34:in `each' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/kiba-0.6.1/lib/kiba/runner.rb:34:in `block (2 levels) in process_rows' 
    from /home/bitlasoft/test01/common.rb:12:in `block in each' 
    from /home/bitlasoft/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/csv.rb:1739:in `each' 
    from /home/bitlasoft/test01/common.rb:11:in `each' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/kiba-0.6.1/lib/kiba/runner.rb:33:in `block in process_rows' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/kiba-0.6.1/lib/kiba/runner.rb:32:in `each' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/kiba-0.6.1/lib/kiba/runner.rb:32:in `process_rows' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/kiba-0.6.1/lib/kiba/runner.rb:13:in `run' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/kiba-0.6.1/lib/kiba/cli.rb:13:in `run' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/gems/kiba-0.6.1/bin/kiba:5:in `<top (required)>' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/bin/kiba:23:in `load' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/bin/kiba:23:in `<main>' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `eval' 
    from /home/bitlasoft/.rvm/gems/ruby-2.2.2/bin/ruby_executable_hooks:15:in `<main>' 
[email protected]:~/test01$ 

は私movies.etlとcommon.rb configです:

require_relative 'common' 
api_key = IO.read('.themoviedb') 
source CSVSource, filename: 'movies.csv'   
limit ENV['LIMIT'] 
show_me! 
transform MovieDBlookup, 
api_key: api_key, 
title_field: 'title' 
show_me! 

require 'csv' 
require 'awesome_print' 

class CSVSource 
    def initialize(filename:) 
    @filename = filename 
     end 

    def each 
    csv = CSV.open(@filename, headers: true) 
    csv.each do |row| 
    yield(row.to_hash) 

    end 

csv.close 

    end 
     end 

    require 'themoviedb' 

class MovieDBlookup 
def initialize(api_key:, title_field:) 
@title_field = title_field 
Tmdb::Api.key(api_key) 
    end 

def process(row) 
movie = Tmdb::Movie.find(row[@title_field]).first 
row[:vote_average] = movie.vote_average 
row[:vote_count] = movie.vote_count 
row 
    end 
    end 

def show_me!  
    transform do |row| 
    ap row 
    row 
    end 
    end 

def limit(x) 
x = Integer(x || -1) 
return if x == -1 
    transform do |row| 
    @counter ||= 0 
    @counter += 1 
    abort("stopping....")if @counter >= x 
    row 
    end 
    end 

答えて

0

(ここでは木場の所有者) - エラーます木場の特定ではありません取得します。あなたがthemoviedbのために提供されるAPIキーが無効であるように見えます。あなたはhereデシベル映画のためにサインアップして、APIキーが提供あなたがロードされているファイル(.themoviedb)にコピー&ペーストされていましたか?

私が考えることができる1つの問題は、そのファイル(改行/改行)に行末の文字があることです。この場合、おそらくapi_key = IO.read('.themoviedb').stripを呼び出すと役に立ちます。

繰り返しますが、これは木場の特定ではありませんが、このことができます願っています!

関連する問題