general introduction to apis

21
API opportunities A general introduction to APIs and how they might be used at the Watson Library

Upload: michael-cummings

Post on 23-Jan-2018

26 views

Category:

Data & Analytics


0 download

TRANSCRIPT

API opportunities

A general introduction to APIs and how they might be used

at the Watson Library

API opportunities API e.g.

Application:Open Library Data

Program:“FindIt Catalog”

Interaction:Application hosts images. It accepts requests for an image with ISBN match.

Program can display the book cover image if the application provided one.

API opportunities

Application:Google Books

Program:“FindIt Catalog”

Interaction:Application hosts book descriptions. It accepts requests for information from programs.

Program can display the book information.

API e.g.

API opportunities

Application:Internet Archive digital collection

Program:“FindIt Catalog”

Interaction:Application hosts digitized books. It accepts requests from programs.

Program can display a link to the digitized book.

API e.g.

API opportunities

An “API” is a defined interaction between that part of a computer application which accepts requests from other programs and responds by providing some data.

Application Program Interfaceor

Application Program Interaction

API basics

API opportunities API Technical Stuff

Impress your colleagues

Just four simple techy thingsto know about

Application Program Interactions

API opportunities

In order for a program to interact with an API, it must follow well defined, well documented syntax for making requests. We saw the book cover in the library catalog. That API requestlooks like this …

https://covers.openlibrary.org/b/isbn/0300120273-M.jpg

API opportunities

Secondly, note that the response from the application is data…

<breakfast_menu> <food>

<name>Belgian Waffles</name> <price>$5.95</price> <description>Two of our famous Belgian Waffles with real maple syrup</description> <calories>650</calories>

</food> </breakfast_menu>

API opportunities

FoLok

or as JSON data …

{"request_date":"2017-11-14 15:26:52.195","search_value":[ {"operator":"contains","field":"Index","value":"c"}], "search_type":"search","results":[{"lastName":"Cadmus","displayDate":"1904-1999","index":"C","id":1144,"alphaSort": "Cadmus, Paul","isArtist":1, "firstName":"Paul","displayName": "Paul Cadmus"},{"lastName":"Cain","index":"C","id":2934, "alphaSort":"Cain, David","isArtist":1,"firstName":"David","displayName":"David Cain"},{"lastName":"Calder","displayDate": "(b. 1898, Lawnton, Pennsylvania - d. 1976, New York, New York)","index":"C","id":5616,"nationality": "American", "alphaSort":"Calder, Alexander","isArtist":1,"firstName":"Alexander","displayName":"AlexanderCalder"}], "total_results":125}

API opportunities

• Some APIs only accept requests from authorized programs.• In that case you have to register for an “API Key” first.• The “key” is sent as part of the request.

…/American/5616/Stella/t4jue8Y#%kwnYT&20171114M

API Key

API opportunities

Lastly, your program will need to have coding that tells it how to parse the data and do something useful with it …

def make_openlib_holding(book):

holding = {

'LIBRARY_NAME': 'IA', 'LOCATION_NAME': 'OL’,

'LOCATION_DISPLAY_NAME': 'OL: Open Library’ }

if book.keys():

holding['ITEMS'][0]['DISPLAY_CALL_NO'] = \

book.get('identifiers', {}).get('openlibrary', [])[0]

holding[‘DATA = book.get('url', '')

return holding

API opportunities @ Watson

Benefits of using APIs @ the Watson Library

• Help the library / museum staff do their work • Improve usability of our services for library patrons• APIs might be used advocate the value of the library to the

museum and the community by providing informative ‘dashboards’

API opportunities

Types of info we can get or update from Sierra

RETRIEVE ADD or DELETE

UPDATE

• Bibliographic data• Item data• Order data• Patron data

• Checkouts • Fines• Holds

@ Watson

• Hold data

• Patron names • Addresses• Phone numbers• Emails.

API opportunities @ Watson

API opportunities @ Watson

API opportunities Learn about APIs

API opportunities

BD

Learn about APIs

API opportunities

What’s next?

• Let’s learn what APIs are offered.• We can network with the Sierra and TMS community of API

developers from other libraries• We’ll form a group of library staff to brainstorm ideas –

and set priorities for which ones we might try first.• APIs are powerful, and free, let’s use them!

Use APIs

API opportunitiesQuestions?

API opportunities

Image credits[14] Alma DashboardRetrieved from http://discoveralma.com/classes/819hdh90faspaFJ0aKD9/classes_secure_dashboard_102.html

[15] LibAnalytics DashboardRetrieved from https://buzz.springshare.com/springynews/news-26/laninsight

[19] To Decide the QuestionJohn George Brown (American (born England), Durham 1831–1913 New York)Retrieved from https://www.metmuseum.org/art/collection/search/10241

API opportunities

Michael [email protected]

November 2017Metropolitan Museum of ArtThomas J. Watson Library