Hi, I'm working on an application which uses rflickr to upload images to flickr. I've generated and cached an auth token as described in the GETTING STARTED document in the rflickr tree. However, when I call the API, I receive an error stating "ERR: Invalid auth token (98)". The extended error is:
XMLRPC::FaultException (Invalid auth token): /vendor/plugins/rflickr-2006.02.01/lib/flickr/upload.rb:70:in `error' /vendor/plugins/rflickr-2006.02.01/lib/flickr/upload.rb:179:in `upload_image'
Any insight into this error will be greatly appreciated.
Here is the action that gets executed on an upload request:
def upload incoming_file = params['flickr_image'] content_type = incoming_file.content_type.chomp msg_out = nil
responds_to_parent do render :update do |page| if content_type.rindex(/image\/[(jpe?g)||(gif)||(png)]/) cache_file = "#{RAILS_ROOT}/public/cache/flickr.cache"
if File.exist? cache_file flickr = Flickr.new(cache_file)
msg_out = flickr.photos.upload.upload_image( incoming_file, content_type, incoming_file.original_filename, params[:flickr_title], params[:flickr_description], params[:flickr_tags].scan(/"[\w ]+"|\w+/).collect{ |tag| tag.gsub( /"/, '' ) } ) end else page.alert "Please upload an image file." end end end return end
When I inspect the flickr object, I get the following:
"#<Flickr:0xb5c2dfac @person_by_nsid={}, @test=nil, @shared_secret=\"\", @interestingness=nil, @reflection=nil, @photosets=nil, @api_key=\"\", @favorites=nil, @auth=nil, @caching=true, @client=#<XMLRPC::Client:0xb5c2de30 @http_header_extra=nil, @proxy_port=nil, @parser=nil, @proxy_host=nil, @host=\"www.flickr.com\", @create=nil, @auth=nil, @user=nil, @port=80, @use_ssl=false, @cookie=nil, @http=#<Net::HTTP www.flickr.com:80 open=false>, @password=nil, @timeout=30, @http_last_response=nil, @path=\"/services/xmlrpc/\">, @endpoint=\"http://www.flickr.com/services/xmlrpc/\\", @photos=nil, @groups=nil, @auth_mode=true, @photoset_by_id={}, @ticket_by_id={}, @contacts=nil, @blog_cache=nil, @group_by_id={}, @urls=nil, @token_cache=\"/cache/flickr.cache\", @license_cache=nil, @photopool_by_id={}, @people=nil, @async=false, @photo_by_id={}, @blogs=nil>"