.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "Net::FS::Flickr 3" .TH Net::FS::Flickr 3 "2008-01-13" "perl v5.8.8" "User Contributed Perl Documentation" .SH "NAME" Net::FS::Flickr \- store and retrieve files on Flickr .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& my $fs = Net::FS::Flickr->new( key => $key, secret => $secret ); .Ve .PP .Vb 3 \& $fs->set_auth($auth_key); # see API KEYS AND AUTH KEY section \& $fs->store("file.txt"); \& $fs->store("piccy.jpg", "renamed_piccy.jpg"); .Ve .PP .Vb 4 \& open (FILE, ">output.jpg") || die "Couldn't write to file: $!\en"; \& binmode (FILE); \& print FILE $fs->retrieve("renamed_piccy.jpg"); \& close (FILE); .Ve .SH "API KEYS AND AUTH KEY" .IX Header "API KEYS AND AUTH KEY" You will need to sign up for an \s-1API\s0 key and then get the corresponding secret key. You can do that from here .PP http://www.flickr.com/services/api/key.gne .PP Finally you will need to get an auth key. As described here .PP http://www.flickr.com/services/api/auth.howto.desktop.html .PP the helper script \f(CW\*(C`flickrfs\*(C'\fR supplied with this distribution can help with that. .SH "METHODS" .IX Header "METHODS" .Sh "new" .IX Subsection "new" Takes a valid \s-1API\s0 key and a valid secret key .Sh "files [nsid, email or username]" .IX Subsection "files [nsid, email or username]" Get a list of all the files on the system .PP Given an nsid, username or email, use that. Otherwise use the nsid from the auth token. .Sh "versions [nsid, email or username]" .IX Subsection "versions [nsid, email or username]" Returns a list of all the versions of a file .PP Each item on the list is a hashref containing the date the file was saved and the id of that version using the keys \fItimestamp\fR and \fIid\fR respectively. .PP The list is sorted, latest version first. .PP Because of the way Flickr stores sets, timestamp will always be 0; .PP Given an nsid, username or email, use that. Otherwise use the nsid from the auth token. .Sh "retrieve [version]" .IX Subsection "retrieve [version]" Get from Flickr. .PP If the file has multiple versions then you can pass in a version number to get version \&\- 1 being the oldest. If you don't pass in a version then you get the latest. .Sh "store [as]" .IX Subsection "store [as]" Store the file on Flickr. If a second filename is given then use that as the name on Flickr .PP This works by stashing the data in the least significant bits of as many images as is need. by default an, err, default image is used. But you can set alternative images using the \f(CW\*(C`image_pool()\*(C'\fR method. .Sh "image_pool [image[s]]" .IX Subsection "image_pool [image[s]]" With no arguments, returns an array of all the images in the current image pool. .PP If you pass in one or more filenames or Imager objects then those are set as the current pool. .Sh "set_auth " .IX Subsection "set_auth " Set the app authorisation key.