kylejginavan / youtube_it

An object-oriented Ruby wrapper for the YouTube GData API
http://groups.google.com/group/ruby-youtube-library
595 stars 223 forks source link

Unable to Update Video #31

Closed bnerd closed 12 years ago

bnerd commented 13 years ago

Testing out YouTubeIt. Everything works fine so far. Thanks for putting up this great gem. Unfortunately I am unable to update a video.

client = YouTubeIt::Client.new(
   :username => ENV['GMAIL_LOGIN'],
   :password =>  ENV['GMAIL_PASS'],
   :dev_key => ENV['YT_DEV_KEY']
)

client.video_update(
  youtube_id, # eg. IMqtB9rE2Lo
  :title => title,
  :description => description,
  :category => 'People'
)

throws

/home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/youtube_it-2.0.1/lib/youtube_it/request/video_upload.rb:361:in `block (2 levels) in video_xml': undefined method `join' for nil:NilClass (NoMethodError)
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/builder-3.0.0/lib/builder/xmlbase.rb:155:in `call'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/builder-3.0.0/lib/builder/xmlbase.rb:155:in `_nested_structures'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/builder-3.0.0/lib/builder/xmlbase.rb:63:in `method_missing'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/builder-3.0.0/lib/builder/xmlbase.rb:34:in `tag!'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/youtube_it-2.0.1/lib/youtube_it/request/video_upload.rb:358:in `block in video_xml'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/builder-3.0.0/lib/builder/xmlbase.rb:155:in `call'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/builder-3.0.0/lib/builder/xmlbase.rb:155:in `_nested_structures'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/builder-3.0.0/lib/builder/xmlbase.rb:63:in `method_missing'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/youtube_it-2.0.1/lib/youtube_it/request/video_upload.rb:357:in `video_xml'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/youtube_it-2.0.1/lib/youtube_it/request/video_upload.rb:92:in `update'
    from /home/besu/.rvm/gems/ruby-1.9.2-p180@youtube_it/gems/youtube_it-2.0.1/lib/youtube_it/client.rb:103:in `video_update'
    from test.rb:10:in `<main>'

Has this one something to do with builder or am I just to dumb to use this method correctly? Sorry.

chebyte commented 12 years ago

hey there, the sintaxis is ok but is missing keywords that is mandatory, you can do something like this

client.video_update(
  youtube_id, # eg. IMqtB9rE2Lo
  :title => title,
  :description => description,
  :category => 'People',
  :keywords => %w[cool blah test])

but in the new realease category and keywords going to be optionals

thanks for the advice!