Tmdb :: InvalidApiKeyError(Tmdb :: InvalidApiKeyError)

时间:2016-11-14 12:46:48

标签: etl themoviedb-api kiba-etl

当我使用Kiba ELT时,我已经按照YouTube中的教程以及所有者提供的教程进行了操作。然而,我收到了这个错误:

 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!

这是我的movies.etl和common.rb配置:

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 

{{1}}

1 个答案:

答案 0 :(得分:1)

(Kiba老板在这里) - 你得到的错误不是Kiba具体的;看起来您为themoviedb提供的API密钥无效。您是否注册了电影db here,并且是否将API密钥复制粘贴到您要加载的文件中(.themoviedb)?

我能想到的一个问题是你在该文件中有一个行结尾字符(回车符/换行符),在这种情况下,调用api_key = IO.read('.themoviedb').strip可能会有所帮助。

同样,这不是Kiba特有的,但希望这有帮助!