Fun! with the Twitter API

Preview:

DESCRIPTION

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

Citation preview

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

Recommended