API v1 Retirement Discussion

episod
@episod Taylor Singletary

Having trouble migrating to API v1.1? Have a question about the effect of v1 retirement on your or your favorite application? Ask away.

As announced in API v1 Retirement: Final Dates, the v1 REST API will retire on May 7, 2013.

Update: the v1 REST API was retired on June 11th 2013. ^SC

Thanks everyone!

1 year 2 weeks ago

Replies

jnylund
@jnylund Joel Nylund

How far ahead of that will requests for elevated access be addressed (either approved or disapproved?)

1 year 2 weeks ago
heikofritz
@heikofritz Heiko Fritz

For me it is not clear what does "non-elevated Streaming API roles" mean ?
Which Users will have access to the Streaming-Api after the 7 May?
And another question. Will the blackout-test include the Basic Auth disable for the stream.twitter.com/*
It would be good if it is so, then wie could test this!

Thanks!

1 year 2 weeks ago
episod
@episod Taylor Singletary

The blackout test will not disable Black Auth on stream.twitter.com -- we want to disrupt as few folks as possible with that since the notice has been shorter than the overall API v1 retirement project.

If you connect to stream.twitter.com and have never been awarded a special access role with Twitter (you would know if this is the case), then you must use OAuth to connect to stream.twitter.com. If you have any doubt at all, you should move to OAuth.

1 year 2 weeks ago
irshad0786ahmad
@irshad0786ahmad Irshad Ahmad

i have Twitter API 20 day before was working fine but now i am getting problem during the Authentication not passing token number etc. and i am getting this message.

Whoa there!

There is no request token for this page. That's the special key we need from applications asking to use your Twitter account. Please go back to the site or application that sent you here and try again; it was probably just a mistake.

Go to Twitter.

please help me how to solve this

1 year 2 weeks ago
DMJaz
@DMJaz Jaz

Just wanted to make a note about some confusion I had been experiencing with the current documentation.

On the page: https://dev.twitter.com/docs/using-search it has a stamp showing both applicable for API 1 and API 1.1, however in the limits for usage it states it is IP based and links to the old API 1 which then notes it as deprecated. There is no clear distinction regarding the usage in API 1 vs API 1.1.

While I recognize that searches will now require authentication and utilization of the REST API 1.1, it seems the documentation is ambiguous/misguiding on this topic. Is there anyway to get this updated for the sanity of others who might be confused?

1 year 1 week ago
episod
@episod Taylor Singletary

Thanks

1 year 1 week ago
RomeoMicev
@RomeoMicev Romeo Micev

Hi.
I am in the Process of Migrating from Twitter REST API Version 1.0 to Twitter REST API 1.1

From my Point of view and Experience the Rate Limits in the new API VERSION 1.1 are very very low and breaks everything and make every Twitter Application nearly non usable.

As a example in the Version 1.0 i am able to get all my Twitter Friends by calling the function "friends/ids" several times without to hit the actual existing Rate Limits.

Now with the new Twitter REST API VERSION and the very low set Limits i am not able anymore really to get my Twitter Friends because the maximal amount of friends that can be retrieved now is new only 15 Times a 5000 People before it was 360 Times a 5000 People.

I absolute do not understand why Twitter has set the Limits such Low! This is a huge Limitation that will breaks nearly every Twitter application.

Is it possible somehow to Lift Up the Access Limitation for my Personal and for own Use Application so i am able at least to get my Twitter Friends with the new API Version without to hit every time the Limit Rate?

Thanks in advance.

1 year 6 days ago
abraham
@abraham Abraham Williams

190000 friends / 5000 ids per request = 38 requests which you can do in 45 minutes. That's pretty good considering how many users it is.

1 year 6 days ago
RomeoMicev
@RomeoMicev Romeo Micev

Hi Abraham!
First of all i want thank you a lot for your great twitterauth work.
You have done a great job that is useful to a lot off people including me.

Related to the very low Limits in the new API also criticized by lot of other Developer like here too https://dev.twitter.com/discussions/10644 your tip is in my opinion no solution.

Waiting 45 Minutes to get a List of my Own friends with my Own Application is just no Option as it can not give me a accurate Result. In this 45 Minutes a lot of things can change.

I need a accurate List of my Friends in a few Minutes and not in nearly one Hour!

The new Limits intruduced in the new API Version breaks as you see Application as the Limits are very Low and dont fit with the real Situation of the Twitter Profiles.

Actually the Limits need to be Uplifted and not reduced!
Twitter is a Social Media Website where People Inerconnect with each other.
Limiting this Interconnection kills the meaning of Twiitter as a Social Media Service.

1 year 6 days ago
djrosenthal
@djrosenthal David J Rosenthal

Will http://widgets.twimg.com/j/2/widget.js be affected?

1 year 3 days ago
episod
@episod Taylor Singletary

Yes, these widgets will no longer work after May 7, 2013.

1 year 2 days ago
SpidDev
@SpidDev Spider Development

So...if it no longer works, what do we use to get the Twitter feed back on our websites?!

44 weeks 23 hours ago
abraham
@abraham Abraham Williams

https://dev.twitter.com/docs/twitter-for-websites

44 weeks 23 hours ago
c_r_w
@c_r_w Craig R. Wright

Exactly right, thanks!

42 weeks 2 days ago
ShaneTheReid
@ShaneTheReid Shane Reid

Hi,

Will the http://api.twitter.com/1/users/profile_image/:user_name endpoint be migrated to 1.1 at all?
I've found plenty of resources with workarounds but no word from twitter on the matter.

1 year 2 days ago
episod
@episod Taylor Singletary

No, it won't be making a direct appearance in API v1.1. Use users/show or users/lookup (or the results of any user profile data) to determine the current avatar URL for a user instead.

1 year 2 days ago
fbonander
@fbonander Fredrik Bonander

Is there any particular reason this won't show up in 1.1? The new way feels very much overkill to just get the avatar URL.

Take my application for example, all communication to twitter is executed in the backend and no auth logic in the client. So now I need either to create auth logic in the client or create a backend proxy that redirects to the avatar URL. It's fine, but I'm curious why a such handy api resource didn't make the cut to the new api?

44 weeks 2 days ago
franl
@franl franl

+1

44 weeks 19 hours ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

How long will the blackout today last?

1 year 1 day ago
episod
@episod Taylor Singletary

As long as an hour.

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

We are using the 1.1 API with OAuth but are being affected by the blackout. Why is that?

1 year 1 day ago
episod
@episod Taylor Singletary

The blackout is not currently underway (still a few hours until it will begin). How are you measuring that you're being affected by the blackout? The result of the blackout test when it's underway will just be that API calls to api.twitter.com/1/* and to search.twitter.com/search.* will responded to with a HTTP 410. If you're seeing any other behavior or HTTP status codes (such as 401s, 403s, 400s, 404s, etc) it's for some other reason than blackout testing.

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

Right at 2pm Central time we started getting a 401 error back from Twitter. We didn't deploy code so we don't know why it broke. We are using the 1.1 API with OAuth tokens. Your blog entry says: Basic Auth will be disabled on stream.twitter.com/* for all users in non-elevated Streaming API roles. Such requests will receive a HTTP 401 Unauthorized. We strongly recommend all Streaming API users, including those in elevated roles, to migrate to OAuth 1.0A now. So I thought that was why we were being affected, but you say that the blackout hasn't started. Who can I work with to figure out why our production system is down?

Thank You.

1 year 1 day ago
episod
@episod Taylor Singletary

What account are you using to connect with?

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

I can tell you what oauth token and secret we are using and what consumer key and secret we are using. I'm not sure what you mean by account. We make a request to the 1.1 streaming URL and then sign it with our oauth token. There isn't an account, is there?

1 year 1 day ago
episod
@episod Taylor Singletary

The access token/oauth_token represents an account -- accounts connect to streaming either through basic auth or through an OAuth 1.0A application. The @username of the account you use to connect or the user ID is sufficient -- I can figure out the account from the oauth_token alone.

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

the oauth token is 109087735-a8iG65xmcuqZiaGJdkwwfKPZm34QzdLWBtW1tHfw Let me know if you need anything else and thank you for your help.

1 year 1 day ago
episod
@episod Taylor Singletary

Thanks. I would verify that you (or someone in your organization) haven't inadvertently revoked the access token you use to connect -- either by revoking the application from twitter.com/settings/applications while logged in as the account, denying access through the OAuth handshake process in oauth/authorize or oauth/authenticate, and/or regenerating your access token through the "my access token" feature on dev.twitter.com/apps.

Check if you can use the access token for other operations like https://api.twitter.com/1.1/account/verify_credentials.json which verifies that your credentials and OAuth setup are capable of making valid requests.

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

Ok thank you, we are checking into that now.

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

I created a new token 109087735-a8iG65xmcuqZiaGJdkwwfKPZm34QzdLWBtW1tHfw and we are still getting a 401 error. Any ideas now?

1 year 1 day ago
episod
@episod Taylor Singletary

I unfortunately don't have the ability to see the exact reason you're getting a 401 here. Did you utilize the OAuth flow to generate your new access token or did you use a different approach? Does that access token work against the REST API? Since you belong to an elevated role, you can temporarily mitigate your issues by using basic auth to connect for the time being while you dig into any other OAuth issues you may have.

When was your last successful reconnection to stream.twitter.com? Are your server clocks in sync with ours? (See the Date header we return in responses).

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

I used the My Application page here to create a new Access Token. This is the same process that I followed to create the Access Tokens for the Search API which are working.

Migrating my code to basic auth means reprogramming so that is out of the question.

Our last successful call to the Streaming API with the old token was at 2:11:36pm Central today. Then at 2:11:44pm Centry it started failing.

1 year 1 day ago
episod
@episod Taylor Singletary

What's the exact error response you're getting? How often do you typically reconnect? To rule out issues with OAuth versus something intrinsic to your account, I would really recommend trying to connect using curl on the command line and basic auth. I'm not seeing any systemic issues with OAuth right now, nor anything specific about your account that would prevent you from connecting. Have you checked your server clock?

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

Thank you.

What I see in my log file is [log4j] [2013-04-16 14:31:08,532] com.maritz.evolve24.loader.twitterloader.TwitterRetriever INFO Server responded 401

If I am reading the code right we reconnect every hour, and we checked the time on the server and it is correct.

I'm a Java programmer not a UNIX guy so I don't know how to use CURL. I'll research that.

In the meantime, one question for you is, what do I use for authentication with basic auth? Other than my developer account which I logged in here with, all I know is our oauth tokens.

1 year 1 day ago
episod
@episod Taylor Singletary

Interesting. We recommend in the documentation not to reconnect on fixed schedules -- your connections should really strive to be maintained on the order of days and weeks.

On your server, you can likely execute a command like this:

curl --verbose "https://stream.twitter.com/1.1/statuses/sample.json" -u screen_name:password

The user you are connecting with is "e24it"

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

I took the access token and used it in a call to the search API and it worked fine. I then changed my test program to call the streaming API and I got this error:

  1. <head>
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  3. <title>Error 401 Unauthorized</title>
  4. </head>
  5. <body>
  6. <h2>HTTP ERROR: 401</h2>
  7. <p>Problem accessing '/1.1/statuses/filter.json'. Reason:
  8. <pre>    Unauthorized</pre>
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29. </body>

Why would this work with the search API but fail with the streaming?

1 year 1 day ago
episod
@episod Taylor Singletary

Do you get the same thing on https://stream.twitter.com/1.1/statuses/sample.json ? (That streaming method doesn't require parameters)

It could be that you have some mis-encoded values in the parameters you're sending -- check what your track terms are if you're sending them and verify everything is a) UTF-8 and b) percent-encoded properly for HTTP 1.1 and c) your OAuth library is re-encoding that valid HTTP 1.1 percent-encoded data.

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

When I called api.twitter.com/1.1/search/tweets.json with the oauth token and some query parameters it worked. When I called stream.twitter.com/1.1/statuses/filter.json with a track parameter of glyphosate, I got a 401 error response. There was only 1 track parameter so if I read your response right it should have worked.

1 year 1 day ago
episod
@episod Taylor Singletary

Interesting. Let's take this to email -- can you send me an email to episod at twitter dot com and include in it the consumer key you're using to connect? Thanks!

1 year 1 day ago
Evolve24Dev
@Evolve24Dev Evolve24 Developer

I just sent the email. Thank you for your help.

1 year 1 day ago
lphilps
@lphilps Larry Philps

I'm joining this conversation late, but I think I might know what the problem is.

If your application was created as a "read-only" app, it will work with search but fail with a 401 when using the streaming API. You need to have a read/write application to use stream.twitter.com/1.1/statuses/filter.json if I recall correctly.

Hope that helps.

1 year 17 hours ago
LeeGenerale
@LeeGenerale Lee Alyce Generale

Have no idea what anyone is talking about. All I do know is I can't log on to
my account. Please tell me this will all come out in the wash without me having
to jump through hoops.

1 year 1 day ago
episod
@episod Taylor Singletary

If you're having trouble signing in to your account, your best bet would be to let @support know on support.twitter.com/forms -- we can't help here with account issues, sorry.

1 year 1 day ago
LeeGenerale
@LeeGenerale Lee Alyce Generale

Great. Thanks. That's what I needed to know.

1 year 19 hours ago
magg73883058
@magg73883058 magg

i canĀ“t sing in with oauth you should make a guide with more details please?

1 year 1 day ago
weblivz
@weblivz Stv LivingDeadstone

I'm migrating an app that uses a bunch of libraries to abstract some of the auth and api queries ... all of which seem/suggest to have been migrated.

However, when the blackout happened the office was closed it was about 10pm here. I'd like to run a few tests - is it possible to switch off the v1.0 api for a specific app (similar to how the fb graph api works)?

1 year 1 day ago
episod
@episod Taylor Singletary

Unfortunately it's not possible. Your best bet would be to go through the libraries that you use and verify that they're using API v1.1.

52 weeks 22 hours ago
sonal_4am
@sonal_4am sonal Agrawal

Rate limit on V1.1 is IP based or not?

1 year 1 hour ago
episod
@episod Taylor Singletary

IP address is not factored in to any API v1.1 rate limiting, take a look at the documentation: REST API Rate Limiting in v1.1

52 weeks 22 hours ago
sonal_4am
@sonal_4am sonal Agrawal

How can I do more then 180 searches with in 15 min.

1 year 1 hour ago