Download - Fun! with the Twitter API
Fun! with the Twitter API
Stephanie Kim, @stephlkim Erin Shellman, @erinshellman
!June 30, 2014
Seattle PyLadies presents…
Every other Monday. http://www.meetup.com/Seattle-PyLadies/
Intro to Python http://www.meetup.com/Girl-Develop-It-Seattle/
APIs describe how software communicates
• Application Programming Interfaces often come in the form of a module containing specialized classes.
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.
What could you build?
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
Lets get some tokens! https://apps.twitter.com/
Reading documentation is 90%https://dev.twitter.com/docs/api/1.1
Request verbs• There are 5 common methods a client can apply to a
resource:
• GET
• HEAD
• POST
• PUT
• DELETE
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?
request line
header
body
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.
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
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.
https://github.com/Seattle-PyLadies/TwitterApiWorkshop
https://dev.twitter.com/docs/api/1.1/get/statuses/retweets_of_me
https://dev.twitter.com/docs/api/1.1/post/statuses/update
Make your own!
Teaser for next time: http://it-stinks.herokuapp.com/
Resources1. 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