davidbauer / Instacurate

Turn your Twitter timeline into a personalised news site, in an instant. Fetches links from your timeline and displays them in a discovery friendly design.
http://www.instacurate.com
113 stars 29 forks source link

Allow users to connect to their Twitter account to see all links from their timeline in the grid #15

Closed davidbauer closed 11 years ago

davidbauer commented 11 years ago

Any guesses how big a deal this would be? a) for a programmer, b) for a programming toddler like me.

dergraf commented 11 years ago

Not sue if all of the stuff mentioned below is needed, never used the Twitter API with required authentication.

The users must authenticate through Twitter OAuth 1. the OAuth process results in an Access Token and a Token Secret that allows the app (Twitter Times) to fetch user-restricted content without knowing the user's real Twitter credentials. you typically store the token together with the secret in a database on a server. When the user visits your app and wants to get authenticated content from Twitter, you must sign the request using a combination of the users access token, secret, and consumer key and secret. here's the caveat, the server has to do that 2, because you cannot (should not) share your consumer key and secret with your users.

  1. you need a server with a database
  2. you need an app on the server that implements:

2.a. creating Twitter Times Accounts (based on "Twitter sign in"3 I guess)

2.b storing and serving Access Tokens for authenticated Users

you might implement the above with Javascript on the server side using Node.js, although I would tend to use a web framework like Python's Django or Ruby's Rails. Both come with a bunch of plugins that already cover most of the requirements.

This means for you, new technologies, working on the server side (maybe linux environment), working with databases... all very interesting stuff that you should definitely know about (especially if you want to proceed with your programmer career) ;)

davidbauer commented 11 years ago

Thanks for the detailed explanation. How much work is that for an experienced programmer?

dergraf commented 11 years ago

I guess it would take me about a day (using Django).