# Using flickr API to download photo

**URL:** <https://www.ruby-forum.com/t/using-flickr-api-to-download-photo/119118>\
**Category:** Ruby\
**Created:** [November 3, 2007, 8:13am UTC](https://www.ruby-forum.com/t/using-flickr-api-to-download-photo/119118 "2007-11-03T08:13:22Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jutirain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/258eb7/32.png) [@jutirain](https://www.ruby-forum.com/u/jutirain)\
**Post date:** [November 3, 2007, 8:13am UTC](https://www.ruby-forum.com/t/using-flickr-api-to-download-photo/119118/1 "2007-11-03T08:13:22Z")

</div>

I have wrote a small script to download flickr photo by tags, as the  
following

=======================================

require ‘rubygems’  
require ‘flickr’

flickr = Flickr.new

for page\_iter in (1…100)  
criteria = { ‘tags’ =\> ‘landscape’, ‘page’ =\> page\_iter.to\_s,  
‘per\_page’ =\> ‘500’ }

for photo in flickr.photos( criteria )  
File.open( photo.filename, ‘w’ ) do |file|  
file.puts photo.file( ‘Original’ )  
end  
end  
end

=======================================

I can download about the first 25 ~ 30 photos

and I get the following error message, then the program terminated:

=======================================

/var/lib/gems/1.8/gems/flickr-1.0.0/./flickr.rb:317:in `source': undefined method`[]’ for nil:NilClass (NoMethodError)  
from /var/lib/gems/1.8/gems/flickr-1.0.0/./flickr.rb:322:in  
`file' from photosearch.rb:11 from photosearch.rb:10:in`open’  
from photosearch.rb:10  
from photosearch.rb:9:in `each' from photosearch.rb:9 from photosearch.rb:6:in`each’  
from photosearch.rb:6

=======================================

What’s the problem?

Any idea?

---

<div class="post-metadata">

**Author:** ![jutirain](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/258eb7/32.png) [@jutirain](https://www.ruby-forum.com/u/jutirain)\
**Post date:** [November 4, 2007, 1:15pm UTC](https://www.ruby-forum.com/t/using-flickr-api-to-download-photo/119118/2 "2007-11-04T13:15:37Z")

</div>

On Nov 3, 2007 7:13 AM, Chung-lin Wen [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> # for page\_iter in (1…100)
> 
> `file’  
> What’s the problem?

Hi,

You probably don’t have permission to download the photo in its  
original size. Lots of flickr users don’t allow it.

I ended up using flickraw: [http://raa.ruby-lang.org/project/flickraw/](http://raa.ruby-lang.org/project/flickraw/)  
instead of flickr, where you can say things like:

perms = flickr.photos.getPerms(:photo\_id =\> photo.id)  
if perms.ispublic == 1

# Do stuff here

end

Hope this helps,

Matt
