Fun! with the Twitter API

Post on 05-Dec-2014

106 views 1 download

description

This was a fun workshop introducing the core functionality of the Twitter API, presented by myself and Stephanie Kim of Seattle PyLadies.

Transcript of 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