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

Check if search still possible without user login #91

Closed davidbauer closed 10 years ago

davidbauer commented 11 years ago

Currently broken, as V1.0 that we use was retired yesterday.

These calls in script.js need to be updated. https://api.twitter.com/1/users/show.json https://api.twitter.com/1/statuses/user_timeline.json http://urls.api.twitter.com/1/urls/count.json

If I understand it correctly, we need to implement application-only-authentication. https://dev.twitter.com/docs/auth/application-only-auth

dergraf commented 11 years ago

I updated the Google App Engine App we use to route the home_timeline queries (https://github.com/dergraf/gae-twittertimes/commit/887739f4e9a9b7823d920728d0bf1d0c097307e9). the home timeline is working again, but there are still some calls to the old API inside script.js

backflip commented 11 years ago

I guess you have to route every API call over the Google App Engine App from now on (see https://dev.twitter.com/discussions/5025#comment-10292).

davidbauer commented 11 years ago

@backflip Big deal? I certainly can't do it.

dergraf commented 11 years ago

I have already implemented it, the thing is that afaik every Twitter API request must be authenticated since 1.1. They also introduced the App-Only Authentication which is used to authenticate requests in an application context. I have this already working, the problem is that not all Twitter resources can be accessed through such an application context e.g. users/show.json and statuses/home_timeline.json . In this case we need the user context which we only get if the user is logged in with Twitter. Maybe there is another solution for that, but at the moment I don't see any other option.

On 14 June 2013 19:29, David Bauer notifications@github.com wrote:

@backflip https://github.com/backflip Big deal? I certainly can't do it.

— Reply to this email directly or view it on GitHubhttps://github.com/davidbauer/Twitter-Times/issues/91#issuecomment-19470539 .

davidbauer commented 11 years ago

Can somebody confirm that these restrictions really exists and that there is no way around it? It still seems unplausible to me since it would make Twitter applications without login more or less impossible.

If it is really the case, can we automatically log in users with a default account until they chose to use their own login?

backflip commented 11 years ago

This might help temporarily: http://jasonmayes.com/projects/twitterApi/

dergraf commented 11 years ago

that looks promising!

On 18 June 2013 21:31, Thomas Jaggi notifications@github.com wrote:

This might help temporarily: http://jasonmayes.com/projects/twitterApi/

— Reply to this email directly or view it on GitHubhttps://github.com/davidbauer/Twitter-Times/issues/91#issuecomment-19635077 .

davidbauer commented 11 years ago

Indeed. Two questions.

  1. It says 1-20 tweets can be returned. That's not exactly a lot and will give us only a few links to work with for each request.
  2. Isn't it quite possible that Twitter will lock down this workaround sometime soon?
dergraf commented 11 years ago

true, true.

On 19 June 2013 13:04, David Bauer notifications@github.com wrote:

Indeed. Two questions.

  1. It says 1-20 tweets can be returned. That's not exactly a lot and will give us only a few links to work with for each request.
  2. Isn't it quite possible that Twitter will lock down this workaround sometime soon?

— Reply to this email directly or view it on GitHubhttps://github.com/davidbauer/Twitter-Times/issues/91#issuecomment-19677000 .

davidbauer commented 11 years ago

So what about this: Can we automatically log in users with a default account until they choose to use their own login?

dergraf commented 11 years ago

Nope, I don't think that this will work. OAuth prevents that.

On 20 June 2013 09:38, David Bauer notifications@github.com wrote:

So what about this: Can we automatically log in users with a default account until they choose to use their own login?

— Reply to this email directly or view it on GitHubhttps://github.com/davidbauer/Twitter-Times/issues/91#issuecomment-19735319 .

davidbauer commented 11 years ago

Could this be a solution (paid, though): http://gnip.com/twitter/link-stream/

backflip commented 11 years ago

I'm actually under the impression that the app-only auth allows for requests to users/show, e.g.

https://dev.twitter.com/discussions/15744:

This thread is for the discussion of the recently released app-only auth. … For now, use explicit "id" parameters with /statuses/show and /users/show -- interpolated parameters are not yet supported when using this auth format on those methods. This will be resolved in the coming days.

https://dev.twitter.com/docs/api/1.1/get/users/show:

Requests per rate limit window: 180/user 180/app

EDIT: But obviously not for home_timeline: https://dev.twitter.com/docs/api/1.1/get/statuses/home_timeline Is this request necessary for the application to work? Or could we use statuses/user_timeline instead?

dergraf commented 11 years ago

I have to check that in my implementation

On 21 June 2013 08:12, Thomas Jaggi notifications@github.com wrote:

I'm actually under the impression that the app-only auth allows for requests to users/show, e.g.

https://dev.twitter.com/discussions/15744:

This thread is for the discussion of the recently released app-only auth. … For now, use explicit "id" parameters with /statuses/show and /users/show -- interpolated parameters are not yet supported when using this auth format on those methods. This will be resolved in the coming days.

https://dev.twitter.com/docs/api/1.1/get/users/show:

Requests per rate limit window: 180/user 180/app

— Reply to this email directly or view it on GitHubhttps://github.com/davidbauer/Twitter-Times/issues/91#issuecomment-19800048 .

davidbauer commented 11 years ago

We only need users/show to get data about the user and user_timeline to extract the links. Home timeline actually works because its routed via the server app where we do have the users authentication.

davidbauer commented 11 years ago

Any new insights, @backflip, @dergraf?