matt 11:44am, 8 April 2007
[another update from the mailing list possibly of general interest, the emphasis is mine, because I think it's great news, or at least a silver lining]

---

[The ETA is] probably months. Could be sooner, but we have a whole lot of higher priority things going on right now, and before we release the APIs for collections there are some changes we need to make to how collections work (we're changing them to handle mixed content). We definitely know there is developer interest in the collection APIs, so we'll get to it as soon as possible. Thanks for your patience :)

Eric
raybdbomb 10 years ago
It's been months. Any updates? :)
Silly Luis 10 years ago
You should know by now that the only ETA staff ever gives is "we've added such thing this morning, I'll update the docs later on" :-)))
joseelsantos 10 years ago
I'm in urgent need of the Collection API aswell. Please hurry up!
nmhschool PRO 9 years ago
Yes I could use the API to work with collections too, would be great to be able to.
Collections working with mix content, I am guessing they mean sets and just photos would be nice too.
matt 9 years ago
Brief update on Jan 29 2008, just to keep things sort of centralised:

Kevin notes that the collections api is "still coming":
flickr.com/help/forum/en-us/62487/378221/
JurianSluiman 9 years ago
Two weeks ago waferbaby closed the help topic regarding the eta of the collections api. Is there any progress made? If not: has somebody made a timetable to maintain progress on the api?

Thanks in advance for any information about the collection api!
xSilentRob PRO 9 years ago
This is the last feature I need before completely moving my photo hosting over to Flickr. I will buy a Pro account as soon as this is ready.

Why the huge delay? And why isn't there an update from the engineers?
Roach McKrackin PRO 9 years ago
Yeah, I've been waiting for this for a long time now.... I really wish the developers would let us know what's going ok. As a programmer myself I don't see what the holdup could possibly be, as it doesn't appear to be anything overly complex
reiy 9 years ago
Any new ETA on the Collections API?
Jo0Lz 9 years ago
This is freaking ridiculous. These collections are useless, if you can't use it anywhere else, besides flickr.

This blows, and it makes me sad, I mean come on, there are topics 10months old, stating it will be soon. That was 20 months ago!

FFS.
Silly Luis 9 years ago
Well, Flickr's "soon" means "anytime in the next 2 years" or such, so they have yet time. Just keep hoping...
wouter.rome 9 years ago
I need collections in the API !!

Since i have bought a pro-account I more or less feel like I have the RIGHT to use this feature via the API. I know that in practice this is not true but it sure pisses me off !

Any more news on this?
jon madison PRO 9 years ago
months, as in 18 to 36 months?
klinquist 9 years ago
I'm waiting for this too..
mmoxley 9 years ago
I would say that the designers have hit 'ignore' to this thread and to requests. Where as I am new to Flickr, I have done a fair amount of programming in PHP, and the easiest work arround would be to allow multiple sets in one collection, but not multiple collections in a collection. From that, they could do a quick modification of the sets scripts to look at the collections node, not the sets node.

'TAP, TAP, TAP' is this thing on????
Brian Vallelunga PRO 9 years ago
Hmm... I haven't checked this for months. I'm really surprised they haven't released a new API yet. Is there an official work from Flickr?
mmoxley 9 years ago
Well, I'm going to keep posting so this 'thread' stays up.
weberwithoneb [deleted] 9 years ago
Collections support would be awesome.

*BUMP*
mmoxley 9 years ago
Collections support would really make projects easier to do.
squentine 9 years ago
Yeh we definitively need it!!

Flickr please!! we worst it!

Q
Morten Legarth 9 years ago
Missing it!!!!
wouter.rome 9 years ago
Bumpy bumpy (my last message in this thread seems to be 2 months ago)

Hellloooooooooooooo? Is anybody listening?

@mmoxley's message: why is a workaround necessary?
matt 9 years ago
OK, I want this as much as anyone, but could we at least give it a month between saying nothing more relevant than "bump"? I bloody hate "bump".
rockandrollarmy 9 years ago
missing it too
snowpics.ca 9 years ago
I too need the collections support for API... This is why I bought the pro account... PLEASE PLEASE PLEASE!!!
motosoul detroit 8 years ago
Can we haz, pls?

(Maybe they only speak LOLcat).
JGNI2007 PRO 8 years ago
Now they are having financial crises (or christmas party) :)

Looking forward to see the excuse for January.
weberwithoneb [deleted] 8 years ago
Requesting again... we're still here!
weberwithoneb [deleted] 8 years ago
Looking forward to the collections support!
horace.bury 8 years ago
Still waiting for this API extension. Any news? Please? Any comment? Anyone there?
wouter.rome 8 years ago
I'm not upgrading again to PRO before you make this :-)
schjetne 8 years ago
Such a bleeding shame. This API would be so much better to use if it supported collections.
RS26 8 years ago
So, ahh... is the collection support 'still coming'? I really need it

:p
E-Penguin PRO 8 years ago
"months" is turning into "years" it seems...
Eli the Bearded 8 years ago
So what if we start to use the non-public api for this stuff? If the risk is just methods and interface may change, I'm not worried.

Add sets to an existing collection and reorder sets in a collection
(found by tracing Organizr requests):

method=flickr.collections.editSets
&do_remove=(NOT REQUIRED, observed "0")
&src=(NOT REQUIRED, observed "js")
&api_key=(YOU KNOW YOU NEED IT)
&auth_hash=(YOU KNOW YOU NEED IT)
&auth_token=(NOT REQUIRED, observed blank)
&cb=(WHAT IS THIS?)
&api_sig=(MIGHT BE REQUIRED)
&collection_id=(REQUIRED)
&photoset_ids=(REQUIRED, COMMA LIST)

Remove a set from an existing collection
(found by tracing Organizr requests):
method=flickr.collections.removeSet
&api_key=(YOU KNOW YOU NEED IT)
&src=(NOT REQUIRED)
&auth_hash=(YOU KNOW YOU NEED IT)
&api_sig=(MIGHT BE REQUIRED)
&collection_id=(REQUIRED)
&photoset_id=(REQUIRED)

Get Collection name, description, mosaic and ids of images in mosaic
(found by trying likely names):
method=flickr.collections.getInfo
&api_key=(YOU KNOW YOU NEED IT)
&auth_hash=(YOU KNOW YOU NEED IT)
&api_sig=(MIGHT BE REQUIRED)
&collection_id=(REQUIRED)


I'm still looking for something to list the collections, and something
to list the sets within a collection. flickr.collections.getList just
gives an invalid method error.
blech​ PRO 8 years ago
Unless something's changed since I tried using the flickr.collections.* methods back when the feature launched, the only API key that can perform requests is the one belonging to Organizer.

Having just tried with some Ruby code, I can get an error out of flickr.collections.getInfo, but nothing better than that. Maybe that's because I'm not generating an auth_hash? Obviously there are both auth_token and api_sig parts of my call, but the auth_hash might be the special magic that keeps it Organiser-only.

(By the way, in flickr.collections.editSets, is the 'cb' parameter probably used to set off a JavaScript callback function?)
chaosworld Posted 8 years ago. Edited by chaosworld (member) 8 years ago
Hi All,

I just started playing with the phpFlickr API this morning for the first time, but before long I ran into a problem.. You guessed it, no Collection support.

Personally I think that building a piece of software to navigate your photos is utterly useless without having access to the collections.

Anyway, I've tinkered a bit with screen-scraping and all that terrible stuff and have come up with a very basic would-be 'collection.getList' rip-off.

All you need to do is pass the script your flickr user id [required] and collection id [optional] and it will return an XML listing of a single level of collections.

If no collection id is supplied it will return the top level collection view, otherwise it will return the contents of whatever collection id is specified.

So, here it is (in un-official flickr API notation):


flickr/collections/getList.php

Returns the collection set belonging to the specified user at the specified collection level.


Authentication

This method does not require authentication.


Arguments

api_key (Not Required)
    Your API application key.
user_id (Required)
    The NSID of the user to get a collection for.
    If none is specified, an error is returned.
collection_id (Optional)
    The ID of the collection which you want to view.
    If none is specified, the top level collection is displayed.


Example Response

<collection id="43" user_id="matt">
    <title>Stuff<title/>
    <breadcrumb>Collections<breadcrumb/>
    <sub_items>
        <item id="12"
          url="/collections/12/"
          src="/2075/cols/12.jpg"
          width="179" height="134"
          sets="14" collections="">
            <title>Camera antics</title>
        </item>
        <item id="13"
          url="/collections/13/"
          src="/2103/cols/13.jpg"
          width="179" height="134"
          sets="6" collections="">
            <title>Around Vancouver</title>
        </item>
    </sub_items>
</collection>


Collections are returned in order, with the "newest" collection first. Applications displaying collections should honor this ordering.


Error Codes

Invalid user ID or collection ID
    The user NSID passed was not a valid user NSID,
    or the collection ID passed was invalid.
No collection data found
    The user has no collections defined


API Explorer
www.chaosworld.com/flickr/collections/getList.php


Examples

If our friend 'matt' won't mind that we use him as an example..

Matt's top level collections:
www.chaosworld.com/flickr/collections/getList.php?user_id...

What's inside Matt's collection called 'Camera antics':
www.chaosworld.com/flickr/collections/getList.php?user_id...


Disclaimer
This is NOT a supported script. This script has NOT been rigorously tested [only written a few hours ago]. This script was NOT written by a PHP guru. This script has No logging or tracking or any other nasties in it. Use this script at your own risk [although I can't see any serious risk myself]. This script will NOT be available at the above URL indefinately. If the basic flickr website layout changes dramatically at any point this script WILL fall over and die.

Please let me know if you find this script useful and I'll make it available to anyone who would like to use it on their own systems. Go gentle on the criticism..
Eli the Bearded 8 years ago
_blech: api_hash was a cut and paste error.

$response = $api->execute_method('flickr.collections.getInfo', {
'user_id' => $flickr_my_nsid,
'auth_token' => $flickr_token,
'collection_id' => $colid,
});

I most assuredly was not using the Organizer API key. The Flickr::API module I'm using signs all requests, so I don't know if sig is needed or not.


<?xml version="1.0" encoding="utf-8" ?>
<rsp stat="ok">
<collection id="7070989-72157609625785091" iconlarge="https://farm4.static.flickr.com/3009/cols/72157609625785091_812f4a216c_l.jpg" iconsmall="https://farm4.static.flickr.com/3009/cols/72157609625785091_812f4a216c_s.jpg" server="3009" secret="812f4a216c">
<title>Random didn't fit elsewhere</title>
<description />
<iconphotos>
<photo id="2688169464" owner="17264356@N00" secret="69090499fd" server="3073" farm="4" title="fisheye sequence g (51)" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2747357887" owner="17264356@N00" secret="03d8165b99" server="3084" farm="4" title="IMG_2142" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2748034576" owner="17264356@N00" secret="c1361633a8" server="3184" farm="4" title="IMG_2055" ispublic="1" isfriend="0" isfamily="0" />
<photo id="402945124" owner="17264356@N00" secret="81c92774de" server="179" farm="1" title="Broken tempered glass" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2386174205" owner="17264356@N00" secret="4c995a5bf5" server="3183" farm="4" title="JM Fischer Brunswick Rye and Bourbon" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2386166575" owner="17264356@N00" secret="1d1ef69572" server="3057" farm="4" title="lava lamp" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2386995724" owner="17264356@N00" secret="a0f8a2c28f" server="2123" farm="3" title="florescent light" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2386163523" owner="17264356@N00" secret="bb0b99a3d8" server="3226" farm="4" title="orange box" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2687362347" owner="17264356@N00" secret="c54c26f6e9" server="3012" farm="4" title="fisheye sequence g (56)" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2341833461" owner="17264356@N00" secret="5e81a86179" server="2088" farm="3" title="Almost looks okay, at a small enough image size" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2342666070" owner="17264356@N00" secret="6f06fbafa0" server="2175" farm="3" title="Failed license plate photo" ispublic="1" isfriend="0" isfamily="0" />
<photo id="2687359783" owner="17264356@N00" secret="2456997bb4" server="3131" farm="4" title="fisheye sequence g (54)" ispublic="1" isfriend="0" isfamily="0" />
</iconphotos>
</collection>
</rsp>
blech​ PRO Posted 8 years ago. Edited by blech​ (member) 8 years ago
I've realised a major issue I was having with this: collection IDs, as used by the API, require your database ID at the start of the collection ID that you see when you look at a page. So Eli the Bearded needs to prepend 7070989 to the ID of this collection to get the API to respond, giving collection id="7070989-72157609625785091" as seen above.

The easist way to find your database ID is to view the source of any Flickr page. Look for the value of the 'global_dbid' variable in the JavaScript block towards the top of the HTML.

I've also found a few more methods using Firebug: flickr.collections.create, flickr.collections.editMeta, and flickr.collections.delete. All three seem to be POSTed. If anyone's interested I'll add details about them later.
Eli the Bearded 8 years ago
Database ID, thanks. I didn't know what that number was.
EyePulp PRO 8 years ago
It would appear that collections.getTree(api_key,user_id) will provide a complete listing of your hierarchy. I don't know of a way to get a single Collection's (node) info on demand, so I cache this structure, and parse/walk it as needed to do lookups and get back set IDs in order to use getInfo on the sets. Note also there are no photo counts per set, or any other nice-to-haves. Again, this is just one call I know that works, and ultimately keeps me from hitting Flickr everytime I want to figure out my structure. Just took more work on my end to get it working properly

Here's the JSON structure I get back (hopefully it holds up with blockquote):


{"collections":
{"collection":
[
{
"id":"1234567-12345678901234567",
"title":"Top level collection that contains other collections",
"description":"I'm a description, no?",
"iconlarge":"http:\/\/farm4.static.flickr.com\/3014\/cols\/12345678901234567_abcd123456_l.jpg",
"iconsmall":"http:\/\/farm4.static.flickr.com\/3014\/cols\/12345678901234567_abcd123456_s.jpg",
"collection":
[
{
"id":"1234567-12345678901234567",
"title":"Some sub-collection that contains sets",
"description":"W00t!",
"iconlarge":"http:\/\/farm4.static.flickr.com\/3185\/cols\/12345678901234567_abcd123456_l.jpg",
"iconsmall":"http:\/\/farm4.static.flickr.com\/3185\/cols\/12345678901234567_abcd123456_s.jpg",
"set":
[
{
"id":"1234567890123456",
"title":"Some set title",
"description":"some set description"
},

{
"id":"1234567890123456",
"title":"Another Set title",
"description":"Another set description"
}
]
}
]
}
]
},
"stat":"ok"
}


Sorry if this is a repeat.
Eli the Bearded 8 years ago
EyePulp: that works great, and it's not a repeat. Very useful.
EyePulp PRO 8 years ago
Excellent. Still wish they'd release some docs. =\
veteze.com PRO Posted 8 years ago. Edited by veteze.com (member) 8 years ago
collections.getTree returns null values inside all of the sets for me. It's returning the collections and the correct number of sets for each collection but each collection['set'] has:

"set":
[
{
"id":N,
"title":N,
"description":N
}


weird.
Eli the Bearded 8 years ago
eternalstorms: That's a big question and it is one I posed upthread where I first started to talk about these undocumented API calls.

djmikeryan: flickr.collections.getTree is working for me right now. I'm using the XML output format, though.
EyePulp PRO 8 years ago
I use getTree & json output successfully. Not sure what the problem is. Let me go look at the docs...

OH WAIT... there aren't any... =P

(totally subtle jab there...)
bergerx PRO Posted 8 years ago. Edited by bergerx (member) 8 years ago
Hi, i tracked xmlhttprequests from www.flickr.com/photos/organize/ an found these methods:


flickr.collections.getTree Optional user_id
flickr.collections.create Optional description, Optional parent_id, Required title, Optional after_new_coll
flickr.collections.sortCollections Optional child_collection_ids, Optional collection_id, Optional no_move
flickr.collections.editSets Required collection_id, Optional do_remove, Required photoset_ids
flickr.collections.getInfo Required collection_id
flickr.collections.createIcon Required collection_id, Required photo_ids
flickr.collections.removeSet Required collection_id, Required photoset_id
flickr.collections.delete Required collection_id, Optional recursive
flickr.collections.moveCollection Required collection_id, Required parent_collection_id
flickr.collections.editMeta Optional collection_id, Optional description, Optional title


I haven't test them all, but you can test them with Firebug, just call

F.API.callMethod("flickr.collections.create", {title:"test"})

from javascript command line of Firebug in one of your flickr pages.

I've tested some of these with rest api with json output format from my own application, i'm not sure if they could run with other formats than json.
Studievereniging i.d 8 years ago
flickr.collections.getTree works for me too, but just like djmikeryan.com it will not display any info about the sets. They are empty but it is returning the right amount of sets.

I am also requesting json data. Some official documentation would be nice.
Daniel Massie PRO 8 years ago
The version of the API which the flickr site uses appears to be more up to date than the version available on api.flickr.com, at least for collections. Using firebug to make calls from the flickr site all my collection and set details are returned when using getTree, but like others, when I use the released api with my own code the set details are missing. This is not however always the case, it only seems to happen when you have sets nested in several layers of collections.

CollectionA{set1, set2, set3} - All set details are returned

CollectionX{CollectionY{set1,set2,set3}} - Set details are missing

I really hope this API is fully released soon with documentation.
JurianSluiman 8 years ago
@daniel massie: so this might be one of the issues with the current implementation. It's not released yet because (I think) it's not finished yet.

Since more than a month these calls are known for "us users". I'd say: use the unofficial api and give it a try. Is it not working good enough? That's exactly why it's unofficial. Make the comparison with beta software ;)

No flames intended, but I am verry happy with these findings. If it's really working for flat-organised collections, this might be the moment to upgrade again to pro...
dry_0078h [deleted] 8 years ago
The only way i found to see the details of the sets is to set tis pictures as private wich is not very usefull !
joseelsantos 8 years ago
I wrote in this thread 18 months ago, today I renewed my account @ flickr, naive enough I took for granted that they've implemented collectionsupport in the API.

Would it not be better if you said that you won't add any API support for collections, rather then letting all developers in this thread spend hours on hacks and money on your pro-accounts, just to find something that might never come?

Take care of your customers, Flickr team.
JurianSluiman 8 years ago
I've made a php implementation with O/R like constructions. It has initial support for collections. See the source at code.google.com/p/qwik/source/browse/#svn/trunk/includes/....
Bart Snyckers PRO 8 years ago
Just for those who are struggling with the flickr.collections.getTree and see empty photosets, use the auth_token and api_sig parameters and everything is resolved.
admin
Sam Judson PRO 8 years ago
EyePulp PRO 8 years ago
Heh - 27 months. To think I felt bad when going 14 months between two blog posts... I'm thankful they put the collection api calls in the public realm though, it means the calls should work for a while.
Payfu 8 years ago
Hello.

I am looking for the collection_id but I am unable to find it.
Could someone tell me where to find that value ?

Thank you very much.
Katia e Ricardo 8 years ago
Does anyone know when we will be able to create collections from the collection api? Will that be on this century or the next one?
Alessandro Casagli [deleted] 7 years ago
c'mon we want complete support!
fam-bleher 7 years ago
I must say that I'm highly annoyed because of this issue. I recently started using Flickr and bought a pro account, on the basis of "Flickr has a documented API and interfaces to many languages, so if all else fails I can write my own uploader/image manipulator".

Now I started uploading my private collection to Flickr, but found the Organizr much too cumbersome for my needs (thousands of photos that I quickly want to organize into sets and collections). In the past, I had organized my images using a self-written photo organizer, so I went looking to see if I could adapt the code to use the Flickr API. But now I'm stumped. Without API support for collections, this route is blocked, and I don't see how I could sensibly adapt Flickr to my needs.

Can I get my money back on the basis that Flickr deceived me into thinking I could access all of Flickr via its API?
admin
dopiaza PRO 7 years ago
Can I get my money back on the basis that Flickr deceived me into thinking I could access all of Flickr via its API?

I don't think there was any deception. The API is well documented - all you had to do was read the documentation to see if it suited your needs. If you didn't bother to do that, then I guess you're out of luck.
Nico Mollet Posted 4 years ago. Edited by Nico Mollet (member) 4 years ago
This is a 7 years old thread but we still need Collections API.
I need to create a set, upload photos into this set, and put this set into a collection.

This is not actually possible with the currently documented API.
I see bergerx found some hidden methods (that actually work), yet we have no garantee Flickr will support those methods.

So I will just renew this request: we need collection support.
Thank you very much.
havezet Posted 4 years ago. Edited by havezet (member) 4 years ago
This has been a very helpful thread with comments about undocumented collections api calls.

What I am missing is a way for the API to order the sub-collections inside a collection. The website allows this by dragging a sub collection to a new position, but is anyone aware if it's possible with the API as well?
Thank you
Groups Beta