Flickcurl News [1]Dave Beckett 2007-02-25 Flickcurl 0.9 17 new Flickr API calls supported (28.2% of API): * flickr.auth.checkToken: Get the credentials attached to an authentication TOKEN. char* flickcurl_auth_checkToken(flickcurl* fc, const char* token); * flickr.auth.getFrob: Get a frob to be used during authentication. char* flickcurl_auth_getFrob(flickcurl* fc); * flickr.auth.getToken: Get the auth token for the FROB, if one has been attached. char* flickcurl_auth_getToken(flickcurl* fc, const char* frob); * flickr.photos.addTags: Add TAGS to a PHOTO-ID. int flickcurl_photos_addTags(flickcurl* fc, const char* photo_id, const char* tags); * flickr.photos.delete: Delete a PHOTO-ID. int flickcurl_photos_delete(flickcurl* fc, const char* photo_id); * flickr.photos.removeTag: Remove a tag TAG-ID from a photo. int flickcurl_photos_removeTag(flickcurl* fc, const char* tag_id); * flick.photos.setTags: Set the tags for a PHOTO-ID to TAGS. int flickcurl_photos_setTags(flickcurl* fc, const char* photo_id, const char* tags); * flickr.tags.getHotList: Get the list of hot tags for the given PERIOD (day, week). flickcurl_tag** flickcurl_tags_getHotList(flickcurl* fc, const char* period, int tag_count); * flickr.tags.getListPhoto: Get the tag list for a PHOTO-ID. flickcurl_tag** flickcurl_tags_getListPhoto(flickcurl* fc, const char* photo_id); * flickr.tags.getListUser: Get the tag list for a USER-ID (or current user). flickcurl_tag** flickcurl_tags_getListUser(flickcurl* fc, const char* user_id); * flickr.tags.getListUserPopular: Get the popular tag list for a USER-ID (or current user). flickcurl_tag** flickcurl_tags_getListUserPopular(flickcurl* fc, const char* user_id, int pop_count); * flickr.tags.getListUserRaw: Get the raw versions of a TAG (or all tags) for the current user. flickcurl_tag** flickcurl_tags_getListUserRaw(flickcurl* fc, const char* tag); * flickr.tags.getRelated: Get a list of tags 'related' to TAG based on clustered usage analysis. flickcurl_tag** flickcurl_tags_getRelated(flickcurl* fc, const char* tag); * flickr.urls.getGroup: Get the url of the group page for GROUP-ID. char* flickcurl_urls_getGroup(flickcurl* fc, const char* group_id); * flickr.urls.getUserPhotos: Get the url of the photo page for USER-ID. char* flickcurl_urls_getUserPhotos(flickcurl* fc, const char* user_id); * flickr.urls.getUserProfile: Get the url of the profile page for USER-ID. char* flickcurl_urls_getUserProfile(flickcurl* fc, const char* user_id); * flickr.urls.lookupGroup: Get a group NSID from the URL to a group's page or photo pool. char* flickcurl_urls_lookupGroup(flickcurl* fc, const char* url); Renamed enum flickcurl_photo_field to flickcurl_photo_field_type and added flickcurl_photo_field as the photo field structure. Added authorname and count fields to the flickcurl_tag structure to handle tag methods that return counts. Added enum flickcurl_person_field_type value PERSON_FIELD_photos_views with value integer, not in API docs. flickcurl_person_field structure for fields of flickcurl_person. Added flickcurl* method to indicate that an API call must be signed, even if no authentication token has been given. This is mostly for internals of authentication. void flickcurl_set_sign(flickcurl *fc) Added flickcurl* method to do a write request with POST. Not presently used. void flickcurl_set_write(flickcurl *fc, int is_write); Added flickcurl methods to set data to send in a request: /* send binary data */ void flickcurl_set_data(flickcurl *fc, void* data, size_t data_length); /* send XML serialized from the document DOM */ void flickcurl_set_xml_data(flickcurl *fc, xmlDocPtr doc); 2007-02-20 Flickcurl 0.8 Added flickcurl_init() and flickcurl_finish() to do once-per-process initializing and cleanup. Added more help info to triplr. Added a -d DELAY option to triplr and flickcurl to set delay between requests using new flickcurl_set_request_delay(). Added 2 new Flickr API calls (12% of API): * flickr.people.findByEmail: char* flickcurl_people_findByEmail(flickcurl* fc, const char* email); * flickr.people.findByUsername: char* flickcurl_people_findByUsername(flickcurl* fc, const char* username); Added configure development/debugging options: --enable-capture to capture web service responses into XML files --enable-offline to use the XML files to return results when offline Split large api.c into auth-api.c, people-api.c, photos-api.c, photos-licenses-api.c and urls-api.c to match the API sections. Added method to set the minimum delay between web service requests: void flickcurl_set_request_delay(flickcurl *fc, long delay_msec); The default is set to 1000ms = 1 request/second. Moved flickcurl utility code into flickcurl.c 2007-02-18 Flickcurl 0.7 Added API calls returning contexts as a struct flickcurl_context* array and of type flickcurl_context_type Added 4 Flickr API calls (10% of API): * flickr.groups.pool.getContext: flickcurl_context** flickcurl_groups_pools_getContext(flickcurl* fc, const char* photo_id, const char* group_id); * flickr.photos.getAllContexts: flickcurl_context** flickcurl_photos_getAllContexts(flickcurl* fc, const char* photo_id); * flickr.photos.getContext: flickcurl_context** flickcurl_photos_getContext(flickcurl* fc, const char* photo_id); * flickr.photosets.getContext: flickcurl_context** flickcurl_photosets_getContext(flickcurl* fc, const char* photo_id, const char* photoset_id); Added struct flickcurl_context utility functions: const char* flickcurl_get_context_type_field_label(flickcurl_context_type typ e); void flickcurl_free_context(flickcurl_context *context); void flickcurl_free_contexts(flickcurl_context** contexts); Added new flickcurl utility commands for the new APIs: groups.pools.getContext photos.getAllContexts photos.getContext, photosets.getContext 2007-02-11 Flickcurl 0.6 Added API call flickcurl.licenses.getInfo: struct flickcurl_license flickcurl_license** flickcurl_photos_licenses_getInfo(flickcurl *fc); and command licenses.getInfo in flickcurl utility Added helper to look up one license by ID: flickcurl_license* flickcurl_photos_licenses_getInfo_by_id(flickcurl *fc, int id); Triplr updated to use the above to emit URIs instead of integers for dc:rights Added API call flickr.people.getInfo: enum flickcurl_person_field, struct flickcurl_person const char* flickcurl_get_person_field_label(flickcurl_person_field field); flickcurl_person* flickcurl_people_getInfo(flickcurl* fc, const char* user_id ); void flickcurl_free_person(flickcurl_person *person); and command person.getInfo in flickcurl utility 6% of API 2007-02-04 Flickcurl 0.5 Added optional support for using [2]Raptor for more accurate and prettier serializing triples in triplr Released to the world! 3% of API 2007-02-03 Flickcurl 0.4 Added triplr utility. 3% of API 2007-02-01 Flickcurl 0.3 Renamed all symbols to be flickcurl_* Added flickcurl_photo_as_source_uri() to get the image file URLs for a photo ID. Configuration file for the utilities to record the authentication is now ~/.flickcurl.conf Packaging and licensing 3% of API 2007-01-24 Flickcurl 0.2 Refactored to have separate flickcurl* object API calls flickr.test.echo, flickr.auth.getFullToken and flickr.photos.getInfo with functions flickcurl_test_echo, flickcurl_auth_getFullToken, flickcurl_photos_getInfo Test program has commands table and help, authentication 3% of API 2007-01-21 Flickcurl 0.1 First version 0% of API _________________________________________________________________ Copyright (C) 2007 [3]Dave Beckett References 1. http://purl.org/net/dajobe/ 2. http://librdf.org/raptor 3. http://purl.org/net/dajobe/ |