4. Intro to Python
http://www.meetup.com/Girl-Develop-It-Seattle/
5. APIs describe how
software communicates
• Application Programming Interfaces often come in
the form of a module containing specialized
classes.
6.
7.
8. REST APIs interface consumers
with resources on a server
• Representational state transfer (REST)
• REST APIs are specifications of remote calls
exposed to API consumers.
1. Separate client from server.
2. Stateless.
3. Use HTTP/HTTPS.
11. OAuth
OAuth is an open standard that
allows us to access protected
resources hosted by a resource
server.
https://dev.twitter.com/docs/auth/authorizing-request
14. Request verbs
• There are 5 common methods a client can apply to a
resource:
• GET
• HEAD
• POST
• PUT
• DELETE
15. The anatomy of a request
• Request Line - Tells the server what type of
request is being sent (e.g. GET, POST, PUT, DELETE)
• Header - Send over any required values, like
security tokens.
• Body - What resource are you asking for?
17. Responses
• A successful request to the server results in a
response, hopefully containing the resource you
requested.
• The response will contain a 3-digit status code
starting with 1, 2, 3, 4, or 5.
18. Response Codes
• 1__: Working on the request.
• 2__: Everything’”⁹s cool.
• 3__: Everything’”⁹s cool, but something else is
happening.
• 4__: Oh man, not cool.
• 5__: The server errored out.
See: https://dev.twitter.com/docs/error-codes-responses
19. The response also has a
response line, header and body
• Similarly to the request, a response contains a
response line, a header and a body.
33. Resources
1. Programmable Web. http://
www.programmableweb.com/
2. Designing a RESTful API with Flask. http://
blog.miguelgrinberg.com/post/designing-a-restful-api-with-
python-and-flask
3. Cool mashups made possible with APIs. http://
mashable.com/2009/10/08/top-mashups/
4. Great book about REST APIs. http://www.amazon.com/
RESTful-Web-APIs-Leonard-Richardson-ebook/dp/
B00F5BS966