Harnessing Free Content with Web Service APIs

2,891 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,891
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
39
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Go to web page if possible to show….
  • Harnessing Free Content with Web Service APIs

    1. 1. print $title; print $subtitle; print $author; print $position; print $institution; $title = “harnessing free content with web service apis”; $subtitle = “an ala editions workshop”; $author = “jason paul michel”; $position = “user experience librarian”; $institution = “miami university libraries”;
    2. 2. agenda • Discuss open web ecosystem • Place of APIs in that ecosystem • What is exactly is an API? • An example from the programmer’s perspective • Real World examples • Slice of available APIs • What is needed for development • Where to find and keep up with information
    3. 3. the “open” web ecosystem • social web services are not social merely because of the interactions between users they facilitate. • social web services are social because they also are able to talk to one another on a programmatic level.
    4. 4. the “open” web ecosystem • thus, If This Then That (ifttt.com)
    5. 5. the “open” web ecosystem • thus,
    6. 6. the “open” web ecosystem • Achieved largely through the use of APIs • API = Application Programming Interface • Method of data transfer via HTTP
    7. 7. neighbor’s garage analogy Open Source: take whatever you want, modify however you want, use however you want Proprietary: pay for each tool in the garage, use them as designed API: utilize the services of the garage, if you have authorization and ask the right way
    8. 8. Why APIs? • Increase visibility of data / service • Take advantage of the crowdsourcing model to improve service, e.g. Tweetdeck • From libraries’ perspective: its important to integrate with wider web environment
    9. 9. Typical API Process • Request API Key from Service • Choose scripting language: PHP, Ruby on Rails etc. • Using chosen language, submit data request via available API methods • Ingest that data in JSON, XML or other data type • Transform the data to make it usable with scripting language • Upload data to a database • Wrap data in HTML, CSS for user interface
    10. 10. api request example https://api.twitter.com/1.1/search/tweet.json?q=book%20OR%20research Base url Each Web Service typically has several base urls depending on the type of information you are seeking and each resource type has its own set of parameters, e.g.: https://api.twitter.com/1.1/followers/ids, https://api.twitter.com/1.1/friendships/lookup Data type Parameters
    11. 11. api request example [statuses] => Array ( [0] => stdClass Object ( [metadata] => stdClass Object ( [result_type] => recent [iso_language_code] => en ) [created_at] => Sat Jul 20 16:25:22 +0000 2013 [id] => 3.58623679498E+17 [id_str] => 358623679497777153 [text] => This book just got too good! She said yes!! 👏 👏 #christiangrey [source] => Twitter for iPhone [truncated] => [in_reply_to_status_id] => [in_reply_to_status_id_str] => [in_reply_to_user_id] => [in_reply_to_user_id_str] => [in_reply_to_screen_name] => [user] => stdClass Object ( [id] => 307066025 [id_str] => 307066025 [name] => Alicia Reece [screen_name] => aaliciaaaajo [location] => etc…..
    12. 12. api request example • At this point you can send the data received to a database or create a dynamic web application on top of the live data.
    13. 13. try it • https://graph.facebook.com/username or • https://graph.facebook.com/pageid
    14. 14. working examples
    15. 15. twitter • Programmatically capture, store & display potentially relevant tweets in specific geolocation to serve as a springboard for proactive info services and social interaction. https://api.twitter.com/1.1/search/tweet.json?q=book%20OR%20research&geocode=39.5069974,-8 working examples
    16. 16. vimeo • Upload video tutorials to Vimeo • Utilizing API, bring your own video tutorials in to your own web interface. http://vimeo.com/api/v2/miamiulibraries/videos.json working examples
    17. 17. vimeo working examples
    18. 18. instagram • Create a patron-generated gallery of instagram images based on a pre-determined hashtag or keyword https://api.instagram.com/v1/tags/miamioh/media/recent working examples
    19. 19. instagram http://d.lib.ncsu.edu/myhuntlibrary working examples
    20. 20. instagram working examples
    21. 21. movieDB • Utilizing the movieDB API, create a Netflix- style application with available Movie posters http://themoviedb.apiary.io/3/search/movie working examples
    22. 22. movieDB working examples
    23. 23. worldcat • Utilizing OCLC’s WorldCat Basic API, pull in citation information for catalog records. http://www.worldcat.org/webservices/catalog/content/citations/isbn/1250012570?cfor mat=turabian&wskey=key working examples
    24. 24. worldcat working examples
    25. 25. goodreads • Utilizing goodreads API, enhance catalog records with goodreads reviews. http://www.goodreads.com/book/show?format=json&key=key&id=bookid working examples
    26. 26. goodreads example working examples
    27. 27. openlibrary/hathi/google books • You don’t need to limit your catalog to what you own / subscribe to… • There are web services out there with open content that your catalog can tap in to. http://openlibrary.org/api/books?bibkeys=OCLC:4942988&jscmd=data&format=json http://catalog.hathitrust.org/api/volumes/full/oclc/381593.json working examples
    28. 28. openlibrary/hathi/google books working examples
    29. 29. openlibrary • Enhance catalog with book covers. http://covers.openlibrary.org/b/olid/OL7440033M-S.jpg http://covers.openlibrary.org/b/$key/$value-$size.jpg working examples
    30. 30. flickr • Bulk uploading images and metadata from repositories to flickr for wider audience • Embedding flickr slideshows of own imagery stored in flickr • Bringing in safe flickr content from current events / subjects working examples
    31. 31. Possible API Usages
    32. 32. Social Tracking Possible API Usages
    33. 33. Catalog Enhancements Possible API Usages
    34. 34. evernote & dropbox • Export catalog records / lists of catalog records out to Evernote/Dropbox • Export articles to Evernote/Dropbox Possible API Usages Catalog Enhancements
    35. 35. rotten tomatoes • Enhance movie records with Rotten Tomatoes reviews • Retrieve cast, directors and movie posters Possible API Usages Catalog Enhancements
    36. 36. ny times bestseller • Get links to reviews of NY Times Bestsellers • Get current NY Times Bestseller Lists and link to catalog records if available.. Possible API Usages Catalog Enhancements
    37. 37. DPLA • Enhancing catalog records with DPLA content • DPLA content includes images, text, video and sound • “an open, distributed network of comprehensive online resources that would draw on the nation’s living heritage from libraries, universities, archives, and museums in order to educate, inform, and empower everyone in current and future generations.” Possible API Usages Catalog Enhancements
    38. 38. hoover’s • Get Company data to match potential company queries in catalog Possible API Usages Catalog Enhancements
    39. 39. cambridge dictionaries online/oed • Get definitions as an additional piece of content in catalog search Possible API Usages Catalog Enhancements
    40. 40. mendeley • export citation data from catalog Possible API Usages Catalog Enhancements
    41. 41. OA APIs • CORE Project – Open University • ArXiv • Hathi • Open Library Possible API Usages Catalog Enhancements
    42. 42. Single Interface Utopia? Possible API Usages
    43. 43. ILS & Discovery Layer APIs • ILSs and Discover Layers are increasingly adding APIs… • Ebsco EDS • Summon • VUFind • Koha • These APIs allow developers to create their own interfaces.. Possible API Usages Single Interface
    44. 44. Publisher APIs • IEEE Xplore • Springer • Elsevier: SciVerse (Scopus, ScienceDirect, SciVerse Hub) • Cambridge Journals • Cambridge Dictionaries • And more…. Possible API Usages Single Interface
    45. 45. Vendor APIs • Factiva – integrate all of factiva’s content • Hoover’s – integrate company information • And more… Possible API Usages Single Interface
    46. 46. OA APIs • CORE Project – Open University • arXiv • Open Library • Hathi Trust Possible API Usages Single User Interface
    47. 47. API Development : what is needed? • Programming expertise: PHP, Ruby, Python, Javascript, XML, JSON, SQL, HTML, CSS • Invest subject librarians in the process: what APIs are available per discipline, which offers value? • Usability assessment • Development tools: programming software and hardware
    48. 48. Further resources • Programmable Web • Zite(app): APIs • Web Service APIs and Libraries, ALA Editions • eCourse in October • Twitter: @kinlane, @hackernews
    49. 49. thank you! • micheljp@miamioh.edu • @jpmichel • gplus.to/jpmichel (G+)
    50. 50. References • http://ifttt.com • https://dev.twitter.com/ • https://developers.facebook.com/docs/reference/api/ • https://developer.vimeo.com/ • http://instagram.com/developer/ • http://www.themoviedb.org/ • http://oclc.org/developer/documentation/worldcat-basic-api/using-api • http://www.goodreads.com/api • http://openlibrary.org/developers/api • http://www.hathitrust.org/data_api • http://www.flickr.com/services/api/ • http://dev.evernote.com/ • https://www.dropbox.com/developers • http://developer.rottentomatoes.com/ • http://developer.nytimes.com/docs
    51. 51. References • http://dp.la/info/developers/codex/ • http://developer.hoovers.com/ • http://core.kmi.open.ac.uk/intro/api • http://arxiv.org/help/api/index • http://dictionary-api.cambridge.org/ • http://public.oed.com/subscriber-services/sru-service/ • http://dev.mendeley.com/ • https://www.ebscohost.com/discovery/api • http://api.summon.serialssolutions.com/ • http://vufind.org/features.php • http://dev.springer.com/ • http://ieeexplore.ieee.org/gateway/ • http://www.developers.elsevier.com/devcms/scopusintegration • http://journals.cambridge.org/action/stream?pageId=9048&level=2 • http://www.factiva.com/CP_Developer/ProductHelp/FDK/FDK20/fdk_overvie w/index.htm

    ×