Re: [twitter-dev] Direct message change and the authentication URL
I think this was addressed in the A new permission level thread. You said you were restricting this permission to the OAuth /authorize web flow only. Will /oauth/authenticate (Sign in with Twitter) support the new permission? The R/W/DM permission can only be granted through the /oauth/authorize route. Sign in with Twitter cannot be used to grant R/W/DM. We understand applications may use other methods of authentication like Sign in with Twitter as well. For this reason, if a user has authorised your application for R/W/DM and you direct them through Sign in with Twitter, we will respect the existing access token permission. This means you can use Sign in with Twitter after a user has authorized your application for R/W/DM. On Wed, Jun 15, 2011 at 2:20 PM, Craig Walls hab...@gmail.com wrote: I've updated my app settings to be Read, Write, and Direct Messages, but when I go through the authentication page (not the normal OAuth authorization page), it still tells me that the app won't be able to access DMs after June 30th. Am I missing something or should that message no longer appear now that I've changed the settings? -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Oauth in Twitter via Python
The way I'm reading it it falls under 1. But I might be mistaken. --James Gifford http://jamesrgifford.com On Jun 3, 2011, at 17:01, Correa Denzil mcen...@gmail.com wrote: Hi, I am collecting Twitter data for my research. The API says that : [1] Anonymous calls are based on the IP of the host and are permitted 150 requests per hour. This classification includes unauthenticated requests (such as RSS feeds), and authenticated requests to resources that do not require authentication. [2] OAuth calls are permitted 350 requests per hour. I want to seek a clarification on point [1]. Lets say I want to access a list of followers of a user id (which is public). Would this be counted as rate limiting under point [1] or point [2] ? --Regards, Denzil -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] More than 1000 tweets per day
It's a twitter limitation. https://support.twitter.com/articles/15364-about-twitter-limits-update-api-dm-and-following So yes, you have to create 4 accounts to send 4,000 tweets. Cheers, James Gifford http://jamesrgifford.com On Mon, May 30, 2011 at 7:46 PM, tigreton bellih...@gmail.com wrote: Hi, i was searching and can't figure how to update more than 1.000 tweets per day. It isn't spam, is for an application that i'm developing and it responds. For example: offers, films, restaurants... Must i create for example 4 users to send 4.000 tweets? How big applications does? Thanks, Jorge. -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Re: More than 1000 tweets per day
If that's the case, then I'd have to argue that twisst[1] needs to be shutdown. However, I'm not a expert in the TOS. Can you link me to the section of the TOS you were reading? I'm not finding it. From what I'm seeing, it's alright. Cheers, James Gifford http://jamesrgifford.com [1] http://www.twisst.nl On Tue, May 31, 2011 at 10:16 AM, tigreton bellih...@gmail.com wrote: I asked the same in the #twitterapi at freenode and they said i must read the terms of service. I did and i found with this: If you send large numbers of unsolicited @replies or mentions in an attempt to spam a service or link; And If you send large numbers of duplicate @replies or mentions; With the last, they will be duplicated but with differents mentions. For example, if 4 people ask for films at Sunday, they will get the same answer. @userasking film1, film2 at location on Sunday. There will be a large number of @replies, but they all will be solicited by the user. So i think there will not problem about creating 4 accounts(@appname1,@appname2 etc etc) to respond to 4.000 users. If i'm wrong, please let me know. Thanks, Jorge. On 31 mayo, 15:50, James Gifford ja...@jamesrgifford.com wrote: It's a twitter limitation. https://support.twitter.com/articles/15364-about-twitter-limits-updat... So yes, you have to create 4 accounts to send 4,000 tweets. Cheers, James Giffordhttp://jamesrgifford.com On Mon, May 30, 2011 at 7:46 PM, tigreton bellih...@gmail.com wrote: Hi, i was searching and can't figure how to update more than 1.000 tweets per day. It isn't spam, is for an application that i'm developing and it responds. For example: offers, films, restaurants... Must i create for example 4 users to send 4.000 tweets? How big applications does? Thanks, Jorge. -- Twitter developer documentation and resources:https://dev.twitter.com/doc API updates via Twitter:https://twitter.com/twitterapi Issues/Enhancements Tracker:https://code.google.com/p/twitter-api/issues/list Change your membership to this group:https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Re: More than 1000 tweets per day
Correct. Twisst uses more than one account. In fact (If I'm reading this right) they make use of about 58 notification accounts for their userbase of 30K. Cheers, James Gifford http://jamesrgifford.com On May 31, 2011, at 10:57, tigreton bellih...@gmail.com wrote: This is the simplified one is: https://support.twitter.com/articles/18311-the-twitter-rules And the large is: https://support.twitter.com/articles/76915-automation-rules-and-best-practices Thanks for the link and for the info. Twisst uses more than 1 account, not? Thanks, Jorge. On 31 mayo, 16:39, James Gifford ja...@jamesrgifford.com wrote: If that's the case, then I'd have to argue that twisst[1] needs to be shutdown. However, I'm not a expert in the TOS. Can you link me to the section of the TOS you were reading? I'm not finding it. From what I'm seeing, it's alright. Cheers, James Giffordhttp://jamesrgifford.com [1]http://www.twisst.nl -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Re: More than 1000 tweets per day
Welcome. Glad to help. :) I'd recommend emailing api AT twitter DOT com and getting their take on it. Cheers, James Gifford http://jamesrgifford.com On Tue, May 31, 2011 at 11:40 AM, tigreton bellih...@gmail.com wrote: Oh! Awesome info! thanks. And do you know where can i ask for doing it? Or i can do it if i don't break the policies? Great Gifford. On 31 mayo, 17:32, James Gifford ja...@jamesrgifford.com wrote: Correct. Twisst uses more than one account. In fact (If I'm reading this right) they make use of about 58 notification accounts for their userbase of 30K. Cheers, James Giffordhttp://jamesrgifford.com On May 31, 2011, at 10:57, tigreton bellih...@gmail.com wrote: This is the simplified one is: https://support.twitter.com/articles/18311-the-twitter-rules And the large is: https://support.twitter.com/articles/76915-automation-rules-and-best-... Thanks for the link and for the info. Twisst uses more than 1 account, not? Thanks, Jorge. On 31 mayo, 16:39, James Gifford ja...@jamesrgifford.com wrote: If that's the case, then I'd have to argue that twisst[1] needs to be shutdown. However, I'm not a expert in the TOS. Can you link me to the section of the TOS you were reading? I'm not finding it. From what I'm seeing, it's alright. Cheers, James Giffordhttp://jamesrgifford.com [1]http://www.twisst.nl -- Twitter developer documentation and resources:https://dev.twitter.com/doc API updates via Twitter:https://twitter.com/twitterapi Issues/Enhancements Tracker:https://code.google.com/p/twitter-api/issues/list Change your membership to this group:https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Stream throttled
Is this a known problem or are we getting throttled? You are likely getting rate limited. http://dev.twitter.com/pages/streaming_api_concepts#filter-limiting Limiter periodicity is aligned with statuses/sample sampling periodicity Basically, this means that if you're predicates would return MORE than the sample hose (at whatever level your account has), then you will be rate limited. The default is now 1% I believe...and 10% if you've been granted garden hose role. So if your predicates would capture more than 1% of all tweets (10% for gardenhose role), you will be rate limited. The wording isn't quite like that, but that is what we were experiencing. If we are throttled, what should we do to get back to normal? A few routes for you. 1 Contact twitter to see if you can move to a higher tier (ie gardenhose). See http://dev.twitter.com/pages/streaming_api_concepts#access-rate-limiting 2 Try and send the least noisy subset possible that will still capture the data for your users (if possible). Depending on how your predicates are provided, you can possibly reduce them down to the least noisy subset that would still capture most of what you want. 3 Pay for higher access roles or the full hose. You'll need to work with twitter on this, and I'm honestly not sure where they stand on continuing this model given the gnip relationship. 4 Contact http://gnip.com/twitter (i don't work for them) and see if the pricing works out for you And should we be able to detect throttling ourselves? Yes. You will get limit messages in the stream. http://dev.twitter.com/pages/streaming_api_concepts#parsing-responses Track streams may also contain limitation notices, where the integer track is an enumeration of statuses that, since the start of the connection, matched the track predicate but were rate limited. Notice that it is since the start of the connection...which is a bit strange and threw me at first. James On Tue, May 31, 2011 at 12:09 AM, Jacob Friis Saxberg ja...@webcom.dk wrote: We are using statuses/filter.json and have lately experienced that some tweets are not delivered to our consumer. Is this a known problem or are we getting throttled? If we are throttled, what should we do to get back to normal? And should we be able to detect throttling ourselves? Jacob -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Re: Multiple Home timelines on one webpage
It's possible. You'll probably want to take a look at the Fork-A-Twitter-Client project for some example JavaScript to get you started. Cheers, James Gifford http://jamesrgifford.com On May 30, 2011, at 4:53, roderick roderickstanda...@hotmail.com wrote: I mean using the twitter API for my own website. So i want my website visitors give the opportunity to use 2 timelines next to eachother On 25 mei, 05:11, Mohan Arun mar...@gmail.com wrote: Is it possible to show multiple home timelines from 2 (or more) different accounts. I guess this is only possible with third-party twitter client like Hootsuite. - Mohan -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Re: A new permission level
Arnaud replied recently indicating that the header is now in: We just started to return the X-Access-Level header for authenticated API requests, that tells you what access level the user token has http://groups.google.com/group/twitter-development-talk/browse_thread/thread/5bf53b81f2d868c/87bcc4780e7f2f7d?lnk=gstq=X-Access-Level#87bcc4780e7f2f7d James On Wed, May 25, 2011 at 8:52 AM, Mark Pavlidis mark.pavli...@gmail.com wrote: Matt is this header in yet I haven't seen any announcements elsewhere On May 19, 4:17 pm, themattharris thematthar...@twitter.com wrote: How do we know what the access level of a user token is? This is a great idea and one the team has discussed. What we are going to do is add a newheaderto authentication requests that will tell you the access level of the token you authenticated with. We’re working on this now and hope to have it released in the next few days. -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Streaming API credentials
You would create a twitter app at https://dev.twitter.com/apps After you create it, there is a My Access Token button on the details page for your application. I /believe/ that will get you what you want. James On Mon, May 23, 2011 at 3:04 PM, Craig Walls hab...@gmail.com wrote: I'd like to use the streaming API to track certain terms that I'll ultimately present to all of my web application's users. For instance, I want my app to display all tweets for some event, identified by some hashed term. I see that the streaming API (unlike the search API) requires authentication, either Basic or OAuth. For tinkering purposes, I've just used my own OAuth token/secret to hit the streaming API. But which credentials should my app use? Since the stream will be presented to all of my app's users, it doesn't make sense for it to use a single user's credentials. It also doesn't make much sense to open up individual, but identical streams for each user. Is there a way to consume the streaming API with some app-level credentials? -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Authorize vs. Authenticate
I believe the only difference is that the authenticate route could be used by only web based applications (ie they need to have a callback url) and allows for the force_login param. The authenticate can be used by either desktop or web apps, but do not support the force_login...but this may be changing soon. From themattharris earlier in the recent thread about the oauth permission change: We support multiple accounts in our application, how do we force a login on the authorize flow? Currently the only flow that supports the force_login parameter is / oauth/authenticate but adding it to /oauth/authorize flow is a good idea. We’ll begin working on this now and will let you know when it is released. On Mon, May 23, 2011 at 3:54 PM, Tyson Lowery tysonlow...@gmail.com wrote: I can't seem to find the difference, does anyone know? Previous to the new permission system I sent my users to http://twitter.com/oauth/authenticate/ But for some reason no matter what I do, it says at the bottom This application will not be able to: Access your private messages. So I changed to http://twitter.com/oauth/authorize. That solved the problem about accessing private messages. But I'd like to force the user to re-log into twitter. I can't figure out a way to do that with authorize. I just need to solve one of these 2 problems. Any ideas? Thanks, Tyson -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Re: Authorize vs. Authenticate
From my testing, I am pretty sure authorize supports callback urls. It does, sorry if I wasn't clear on that. So for your other question, yes, the new permission (for Read Write and Private Messages) will only be settable from the /authorize endpoint. Further up in the same thread: You said you were restricting this permission to the OAuth /authorize web flow only. Will /oauth/authenticate (Sign in with Twitter) support the new permission? The R/W/DM permission can only be granted through the /oauth/authorize route. Sign in with Twitter cannot be used to grant R/W/DM. We understand applications may use other methods of authentication like Sign in with Twitter as well. For this reason, if a user has authorised your application for R/W/DM and you direct them through Sign in with Twitter, we will respect the existing access token permission. This means you can use Sign in with Twitter after a user has authorized your application for R/W/DM. James On Mon, May 23, 2011 at 4:08 PM, Tyson Lowery tysonlow...@gmail.com wrote: Ahhh, thanks that answers half my question. I did not see that from Matt - they should split that thread into technical questions and complaints, it got too hard to follow. From my testing, I am pretty sure authorize supports callback urls. Any idea about authenticate and private messages? Is this permission not available in the authenticate flow by design, or is this a bug? . On May 23, 3:01 pm, James Estes james.es...@gmail.com wrote: I believe the only difference is that the authenticate route could be used by only web based applications (ie they need to have a callback url) and allows for the force_login param. The authenticate can be used by either desktop or web apps, but do not support the force_login...but this may be changing soon. From themattharris earlier in the recent thread about the oauth permission change: We support multiple accounts in our application, how do we force a login on the authorize flow? Currently the only flow that supports the force_login parameter is / oauth/authenticate but adding it to /oauth/authorize flow is a good idea. We’ll begin working on this now and will let you know when it is released. On Mon, May 23, 2011 at 3:54 PM, Tyson Lowery tysonlow...@gmail.com wrote: I can't seem to find the difference, does anyone know? Previous to the new permission system I sent my users to http://twitter.com/oauth/authenticate/ But for some reason no matter what I do, it says at the bottom This application will not be able to: Access your private messages. So I changed tohttp://twitter.com/oauth/authorize. That solved the problem about accessing private messages. But I'd like to force the user to re-log into twitter. I can't figure out a way to do that with authorize. I just need to solve one of these 2 problems. Any ideas? Thanks, Tyson -- Twitter developer documentation and resources:https://dev.twitter.com/doc API updates via Twitter:https://twitter.com/twitterapi Issues/Enhancements Tracker:https://code.google.com/p/twitter-api/issues/list Change your membership to this group:https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Checking whether a user has given permission to Private Messages
I don't think so, but looks like its coming soon. From themattharris: How do we know what the access level of a user token is? This is a great idea and one the team has discussed. What we are going to do is add a new header to authentication requests that will tell you the access level of the token you authenticated with. We’re working on this now and hope to have it released in the next few days James On Mon, May 23, 2011 at 4:20 PM, Tyson Lowery tysonlow...@gmail.com wrote: Is there a way to check whether a user has explicitly granted permission to their Private Messages? -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
Re: [twitter-dev] Re: Streaming API credentials
You're right. The simplest (only?) way would be to create an account specifically for managing your app. I believe there was a recent post on this list talking about that being the norm, but I couldn't find it. I'd love for the app to have it's own credentials, and allow for assigning multiple twitter users to administer/manage the app. James On Mon, May 23, 2011 at 4:14 PM, Craig Walls hab...@gmail.com wrote: Correct me if I'm mistaken, but I believe that access token/secret pair are still *my* access token and secret for that application. That is, they can be used to access my personal Twitter data. I'm uncomfortable using my personal credentials (or those of any individual user) for this purpose. What I'm looking for is a token/secret that belongs to the app and can only be used to do things that required authentication, but not access an individual's data (accessing the streaming API, for instance). Perhaps I create a bogus user that represents the application and use their credentials? -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group: https://groups.google.com/forum/#!forum/twitter-development-talk
[twitter-dev] Re: A new permission level
Thanks Matt, Two important implementation questions that aren't 100% clear from that announcement or any supporting docs at this point; 1) we are also restricting this permission to the OAuth /authorize web flow only To be clear, does this include using the OAuth /authenticate method as well as the /authorize method? 2) The method direct_messages/new is not included the list of affected requests, so sending (writing) DMs does not requires Private Message permission? Regards, James On May 19, 10:11 am, themattharris thematthar...@twitter.com wrote: Hey everyone, Thank you for all the feedback on the list, email and through Tweets. We've been responding throughout the day to many of the Tweets but wanted to group the questions together and respond here as well. Two weeks is not enough time to implement a web OAuth flow and have the app approved. We need an extension. We’ve heard your feedback on this list, privately and through Tweets about this. Based on this feedback we are going to extend the enforcement deadline by two weeks. This means we'll enforce the new permission the week beginning the 14th June 2011. This should provide enough time for you to make the change and have your application approved by your chosen platform’s app store. Will Twitter's own applications also go through the OAuth web flow? We’re taking this step to give more clarity and control to users about the access a third-party application has to their account. The way users interact with Twitter’s clients is not expected to change. Applications who wish to access a user’s DMs will need to update their application permission and incorporate the OAuth web flow if they don’t already. If an application does not need access to DMs it will not need to make any changes. Why will you not grandfather existing applications into DM access? Grandfathering all existing read/write tokens assumes they all wanted access to DMs. The feedback we’ve had from users and developers tells us otherwise. We want to give users the opportunity to make an informed choice. What if the client using xAuth has no browser and therefore cannot go through OAuth? For single user applications and scripts we provide the 'My Access Token' page of the application details. To ensure the 'My Access Token' is correct it is important the app owner revokes their access before change the permission level of the app. If you do not do this, the 'My Access Token' will not be regenerated with the new permission. This revoke action is only needed by you, the owner of the application. Remember Read/Write applications can still send direct messages. When you activate the new permission, will all Read and Read/Write user_tokens issued to third-party applications lose their ability to read direct messages? Existing tokens are unaffected by any change to the application permission level. If you change your application to R/W/DM all future authorizations will be for that permission. When a user re-authorizes, their existing token will be updated to the current application permission level. Access to DMs will be enforced on 14th June 2011 if the user_token wasn't authorised as for R/W/DM. What if I want to request a different level of access for my application instead of the one my application is registered with? You can do this now by using the x_auth_access_type parameter during the request_token phase. Using this parameter you can request a read or a read/write token even if your application is registered for read/ write/direct messages. More information on this method is in our developer documentation: http://dev.twitter.com/doc/post/oauth/request_token Why are permissions attached to the user token? Permissions are attached to the user token to ensure an application only has the access a user has authorised. If permissions were not attached to the user token an application would be able to change the level of access they have without the user’s knowledge. If you tie the permissions to the application each user token would need to be invalidated whenever an application’s permissions are changed. Users already gave their permission for apps to access private messages, why are you making us, and them, reauthorize? The purpose of the re-authorization is to ensure both users and developers know the level of access requested. Re-authorization allows a user to make a more informed decision about the access an application has requested. We hope these responses answer your questions. Please continue to send us your feedback about the permission model and what you would like to see it offer. Best, @themattharris -- Twitter developer documentation and resources: https://dev.twitter.com/doc API updates via Twitter: https://twitter.com/twitterapi Issues/Enhancements Tracker: https://code.google.com/p/twitter-api/issues/list Change your membership to this group
[twitter-dev] Fetching a user's entire timeline
OK so I'm not complaining about the 3200 limit here, but I would like to know the most robust way to fetch all 3200 of a user's available tweets. At the moment I'm calling user_timeline recursively, 100 tweets at a time (the maximum of 200 seems to timeout too often), passing in the oldest status id from one call onto the next as the max_id parameter. This usually works pretty well, but I'm relying on an assumption that I now realise doesn't always seem to hold: I'm expecting the response to only be an empty list when I reach the ~3200 limit. I've noticed with some timelines that an empty list will sporadically be returned well before this limit. If I keep trying the call I eventually get results, and for some accounts it happens quite regularly, often taking several attempts to get a response, but the empty list state triggers my script's importing complete end state prematurely. Obviously I can't rely on this assumption anymore. I'm handling errors fine, but this isn't an error, it's an HTTP 200 response with an empty result set. I've seen other apps first check the user's tweet count, then divide Max(3200, total_count) by the number of tweets per page to get a page count, and simply page++ their way through user_timeline. This seems even less robust though, as the tweet count may sometimes change by the time you get to the end of the list, and also, I've noticed the 3200 limit isn't exactly a hard cutoff. Has anyone had any experience of this and can offer advice on how best to deal with it. Seems like the 200 status is a bug in the API too. Cheers, - James -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
Re: [twitter-dev] User Streams and delimited=length
John, Thanks for the confirmation. I took a closer look at what I was sending in my query, and figured it out. I was including my POST variables, but I forgot to send the header for Content-Type: application/x-www-form-urlencoded! After I started sending that header, I saw the lengths in my stream. I got lengths both for the initial friend's list, as well as each message after that. Thanks! -James On Fri, Feb 18, 2011 at 10:09 AM, John Kalucki j...@twitter.com wrote: Delimited=length works with User Streams. Perhaps you have a typo. -John Kalucki http://twitter.com/jkalucki Twitter, Inc. On Wed, Feb 16, 2011 at 6:00 PM, WushuJames wushuja...@gmail.com wrote: Hi, I'm playing around with User Streams. I was able to connect to https://userstream.twitter.com/2/user.json authenticated via OAuth and can see data coming in. I'm having trouble getting delimited=length working with User Streams. Or rather, I'm not sure if I'm using it correctly. I'm doing a POST and passing delimited=length in the body of my post. Here's what I see when I connect: 1) First, a list of friends as documented at http://dev.twitter.com/pages/user_streams, followed by \r\n Example: {friends:[1497,169686021,790205,15211564,37784836,821958,14884312,92015003,822571,63846421...]}\r\n 2) Next, an empty line containing \r\n 3) the messages. The messages are JSON, and the line ends in \r\n. For example, I see: { ...somejson... }\r\n { ...somejson... }\r\n { ...somejson... }\r\n Is delimited=length supposed to work with user streams? Am I passing in the parameter correctly? (as POST variables in the body) Should I be passing delimited=length as GET variables in the URL? That didn't seem to work either, my request got rejected with a 401 HTTP error. Thanks, -James -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
[twitter-dev] Garden hose access
Hello, I'm interested in finding out how to receive Garden Hose level access to the stream. I'm currently using the Spritzer-level access (http:// stream.twitter.com/1/statuses/sample.json). I've looked far and wide for information on how to actually increase your access level but I can't seem to find any information about it on the Web or on Twitter.com. Is there a dept. within Twitter that I can contact to arrange the details of upgrading my service level? Thank you, James Simmons -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
[twitter-dev] Re: historic trend data 10 days old
Thanks Taylor et al. for the responses. If there's a chance that I can get a copy of this data (any format/type would be awesome) for a project I'm working on, I'd love to hear from you ;) Right now, I've daily trend data (20 top trends for each hour of the day) from December 2008 to present day, but it is potted due to a bug in a script that was sucking it down. I'm more than happy to give any developer a copy of what I have if it might help others, just drop me a line. I can see that if Twitter are building analytics tools that maybe releasing this data might cause some internal debate, but I'm happy to discuss my project ideas with the Twitter folk if it'll help my request of course. Thanks again, James On Nov 22, 8:37 pm, M. Edward (Ed) Borasky zn...@borasky- research.net wrote: I've seen a few hints of the analytics product and know a fair number of people who do that sort of thing for a living. I think they're *not* obsessed with the past at all - their wet dream is very much like what Wieden and Kennedy and a whole host of partners did this summer in real time with Old Spice. That's the future of Twitter / social media / advertising: teams of creative, legal, copy writers, production and analytics people huddled around control panels, analytics dashboards, video studios, phone banks, etc. It's a bit like mission control for a shuttle launch - only if something goes wrong do people look at the past. And mobile / iPad / places is going to make it even more real-time. -- M. Edward (Ed) Boraskyhttp://borasky-research.nethttp://twitter.com/znmeb A mathematician is a device for turning coffee into theorems. - Paul Erdos Quoting Adam Green 140...@gmail.com: Yes, but advertisers and sales people are obsessed with the past, and they provide the dollars that will make Twitter grow. We'll see where this leads Twitter. I bet they follow the money. Google did, and it worked out OK. :) On Mon, Nov 22, 2010 at 9:41 AM, Taylor Singletary taylorsinglet...@twitter.com wrote: I can't really speak much on the topic of the analytics tool. I can say that you'll find most everything in Twitter is focused on real-time -- whether it's search results, the tweets available for a given user timeline, or the general structure and emphasis presented by our UI. There's not much on Twitter that allows one to dwell on the past. Taylor On Mon, Nov 22, 2010 at 6:26 AM, Adam Green 140...@gmail.com wrote: Taylor, there has been much talk lately about the new Twitter Analytics tool that would deliver historical data. Am I correct in assuming that this is built on an internal API, and that this API will be surfaced eventually for use by us developers? On Mon, Nov 22, 2010 at 9:20 AM, Taylor Singletary taylorsinglet...@twitter.com wrote: Hi James, You'll find that, in most cases, the data available for a trend is limited by the amount of data provided by the Search API. While this goes back around 10 days currently, there have been times when less was available. Some day we hope to provide more historical data. Taylor On Sat, Nov 20, 2010 at 1:24 PM, James Chivers jchiv...@gmail.com wrote: I'm trying to dig out some hourly trend data from the Twitter API using the trends/daily call with the associated date that I'm looking for, but I'm not able to go back in time more than ~10 days. Is there any way that I'm able to grab the hourly trend data given a date 10 days from the API? Thanks in advance, James -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter:http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter:http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk -- Adam Green Twitter API Consultant and Trainer http://140dev.com @140dev -- Twitter developer documentation and resources:http://dev.twitter.com/doc API updates via Twitter:http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk -- Twitter developer documentation and resources:http://dev.twitter.com/doc API updates via Twitter:http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk -- Twitter developer documentation
[twitter-dev] embedded content
How do you go about getting your content embedded into twitter like youtube and twitpic? -- James Jones +1-413-667-9199 ja...@freedomnet.co.nz -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
Re: [twitter-dev] A little Google Voice SMS example in Perl
That is awesome Sent from my iPhone On Oct 23, 2010, at 4:44 PM, Neal Rauhauser nrauhau...@gmail.com wrote: I take no responsibility for what you perl monks do with this one ... mind the SSL dependency, the CPAN load didn't handle that for me and it required manual intervention. #!/usr/bin/perl use Google::Voice; my $g = Google::Voice-new-login('acco...@gmail.com', 'password); $g-send_sms('7128675309' = 'Testing Google::Voice'); -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
[twitter-dev] Re: Net::Twitter::Lite get_authorization_url missing oauth_token ?
I'm trying to use Net::Twitter::Lite OAuth. which produces: Authorize this app athttp://twitter.com/oauth/authorize?oauth_token= and enter the PIN# notice that the oauth_token in the url is empty!! You should be able to run examples/oauth_desktop.pl (included in the Net::Twitter::OAuth distribution) directly. If that works, compare it to the code you're running. Thanks for the pointer Marc. The oauth_desktop.pl script failed in the same way so I figured the problem was install related. I ended up firing up a new vanilla VM instance and reinstalling Net::Twitter::Lite; everything works perfectly as documented this time. There must have been a transient problem during the installation of one of the dependencies on the first system - nothing to do with Net::Twitter::Lite which seems to be working perfectly. cheers, james -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
[twitter-dev] Net::Twitter::Lite get_authorization_url missing oauth_token ?
hi, I'm trying to use Net::Twitter::Lite OAuth. [...] unless ( $nt-authorized ) { # The client is not yet authorized: Do it now print Authorize this app at , $nt-get_authorization_url, and enter the PIN#\n; [...] which produces: Authorize this app at http://twitter.com/oauth/authorize?oauth_token= and enter the PIN# notice that the oauth_token in the url is empty!! I have Net::OAuth::Simple installed from CPAN. Has anybody experienced this before? I suspect that it's just some missing dependency but I'm not sure what. Any pointers would be greatly appreciated!! thanks!! cheers, james -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
[twitter-dev] Re: Tweet button with AJAX content
I'm no longer seeing the updateTweetCount error when rendering the iframe directly, so this looks like the best method to allow AJAX updates. An additional advantage is that you can make the iframe slightly bigger than that generated by the Twitter JS, eliminating clickjacking warnings from the NoScript Firefox plugin. -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
[twitter-dev] Over the limit for this type of request, please wait a while and try again
Hi folks, Our service has been down for over 3 days now due to broken API calls. Still waiting on any information from Twitter about what's going on, but still in the dark. About 3 days ago we started receiving messages (incorrectly in the new error structure) saying Over the limit for this type of request, please wait a while and try again with error code 33 when calling friendships/destroy. According to the API docs, this call is not rate limited http://dev.twitter.com/doc/post/friendships/destroy All our API requests are authenticated with the requesting user. This happens after about 100 calls. It makes our app completely unusable. I'm guessing it's a bug, but after 3 days I'm wondering if anyone else is seeing this problem. As the errors are returned in the new error structure they didn't appear in our logs at first, so you might be experiencing this problem and not noticing. The new error structure returns a set of error messages under errors instead of just a string under error. James -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk
RE: [twitter-dev] Twitters t.co URL
Hi Taylor, The problem seemed to have resolved itself . I deleted the postings where the tiny urls where missing. It must have been a glitch. Although would like to know any possible reasons for this for future reference. Regards, Michael From: taylorsinglet...@twitter.com Date: Mon, 20 Sep 2010 07:19:12 -0700 Subject: Re: [twitter-dev] Twitters t.co URL To: twitter-development-talk@googlegroups.com CC: 4bra...@gmail.com Hi there, I don't see any issues with the tinyurls on your page. Is there something more specifically wrong? Thanks,Taylor On Mon, Sep 20, 2010 at 3:18 AM, zoomcreator cyberfigh...@hotmail.com wrote: Hello, I noticed in my twitter app that tiny url is not working anymore in my twitter account feed (http://twitter.com/zoomcreator) . Just wondering what the problem is and whether it has something to do with the change over to t.co url ? -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk?hl=en -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk?hl=en -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk?hl=en
[twitter-dev] Twitter API intermittent Connection reset by peer
I'm getting some very strange intermittent errors when connecting to the API. It's completely take down our app. It looks like connections are getting reset intermittently. See a transcript below - the first attempt it works fine, then second two the connection resets. Sometimes it just hangs for minutes. james:~# wget http://twitter.com/oauth/authorize --2010-09-09 05:30:30-- http://twitter.com/oauth/authorize Resolving twitter.com... 128.242.240.148, 128.121.146.228, 128.242.245.212 Connecting to twitter.com|128.242.240.148|:80... connected. HTTP request sent, awaiting response... 403 Forbidden 2010-09-09 05:30:30 ERROR 403: Forbidden. james:~# wget http://twitter.com/oauth/authorize --2010-09-09 05:30:33-- http://twitter.com/oauth/authorize Resolving twitter.com... 168.143.171.84, 128.121.243.228, 168.143.162.52 Connecting to twitter.com|168.143.171.84|:80... connected. HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers. Retrying. --2010-09-09 05:30:35-- (try: 2) http://twitter.com/oauth/authorize Connecting to twitter.com|168.143.171.84|:80... connected. HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers. Retrying. Anyone else getting these problems? Doesn't happen on all the locations I test from, so I'm not sure if our IP has been blocked or go some kind of access restrictions? Our IP is 173.203.207.179 Pulling my hair out trying to figure this out since it's intermittent. James -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk?hl=en
[twitter-dev] Tweet Entities bug and a question
I've been experimenting with tweet entities and they seem to work very well. I did run across this tweet that did not display properly (when compared to a regex version): http://twitter.com/bcherry/status/22825663746 (From a twitter list) That returned these entities: {urls:[{indices:[36,70],expanded_url:null,url:http:// lab.simurai.com/css/buttons}],hashtags:[],user_mentions: [{indices:[46,54],screen_name:simurai,name:simurai,id: 6896972},{indices:[88,97],screen_name:flyosity,name:Mike Rundle \ue10d,id:10545}]} At first I thought I was interpreting the entities improperly (which is certainly possible) but then I noticed that the indices for the user_mention of the user simurai are within the indices of the url (which has that screen name in the url). Am I missing something or is this a bug? Also, I noticed that there is an expanded_url value that is always null. Any idea when will this be populated with the expanded url? -- Twitter developer documentation and resources: http://dev.twitter.com/doc API updates via Twitter: http://twitter.com/twitterapi Issues/Enhancements Tracker: http://code.google.com/p/twitter-api/issues/list Change your membership to this group: http://groups.google.com/group/twitter-development-talk?hl=en
Re: [twitter-dev] Re: Introducing the Tweet Button
getting cert errors now On 13/08/10 9:12 AM, artesea wrote: Anyone else getting the count to work? Had several people press the button and it still shows zero, and when clicking on the zero it takes me to the search page containing their tweet, plus our autotweet everytime we do a blog post. Also will you be counting all tweets containing the URL, or only those via the button? Cheers Ryan On Aug 12, 4:28 pm, themattharristhematthar...@twitter.com wrote: Hey everyone, Today we’re launching the Tweet Button to make it easy for your users to share your website with their followers. When they click on the Tweet Button, a Tweet box will appear pre-populated with a message and link chosen by you. Once they have sent a Tweet they can choose to follow accounts recommended by you. All of this happens on your website, so the user never has to leave. You have complete control over the suggested text of the Tweet Button, who the Tweet should be attributed to and recommendations of who to follow. All of this is possible through a line of javascript and a few URL parameters or data attributes of a link. To add this to your own site grab it fromhttp://twitter.com/tweetbutton, or create your own using our developer documentation,http://dev.twitter.com/pages/tweet_button Read more about the Tweet Button on our blog,http://blog.twitter.com/2010/08/pushing-our-tweet-button.html Best Matt -- Matt Harris Developer Advocate, Twitterhttp://twitter.com/themattharris
Re: [twitter-dev] Re: Introducing the Tweet Button
why when I click on the count it will send me to the search for both the url of the page and the base url? On 13/08/10 9:12 AM, artesea wrote: Anyone else getting the count to work? Had several people press the button and it still shows zero, and when clicking on the zero it takes me to the search page containing their tweet, plus our autotweet everytime we do a blog post. Also will you be counting all tweets containing the URL, or only those via the button? Cheers Ryan On Aug 12, 4:28 pm, themattharristhematthar...@twitter.com wrote: Hey everyone, Today we’re launching the Tweet Button to make it easy for your users to share your website with their followers. When they click on the Tweet Button, a Tweet box will appear pre-populated with a message and link chosen by you. Once they have sent a Tweet they can choose to follow accounts recommended by you. All of this happens on your website, so the user never has to leave. You have complete control over the suggested text of the Tweet Button, who the Tweet should be attributed to and recommendations of who to follow. All of this is possible through a line of javascript and a few URL parameters or data attributes of a link. To add this to your own site grab it fromhttp://twitter.com/tweetbutton, or create your own using our developer documentation,http://dev.twitter.com/pages/tweet_button Read more about the Tweet Button on our blog,http://blog.twitter.com/2010/08/pushing-our-tweet-button.html Best Matt -- Matt Harris Developer Advocate, Twitterhttp://twitter.com/themattharris
[twitter-dev] Can you get back the ID when you tweet thru the API?
I'm idly playing around with a Open Source ticket system that communicates via twitter, and was wandering if it was possible to get the ID of my new tweet back when I post an tweet through the API? http://dev.twitter.com/doc/post/statuses/update seems to indicate you can't? I'm guessing the answer will be you can't due to how twitter works? I'm left with searching through the users recent Tweets to find it, which isn't perfect because twitter may do something like change a URL to a bit.ly one, thus making the text change. Does anyone have any better work-arounds? Thanks, James ps. http://elastik.sourceforge.net/ is the project, screenshots at http://forums.devnetwork.net/viewtopic.php?f=50t=118517
[twitter-dev] Re: not able to send tweet conataining character '*' using OAUTH
You don't specify what language you're using but you should check to make sure that it's oAuth string encoding call encodes all the necessary characters. For example, when writing an oAuth library for JavaScript I used: encodeURIComponent(); However encodeURIComponent does not encode the characters !, *, ', (, ) properly for oAuth. So I end up using something like this for my encode string call: return encodeURIComponent(the_string).replace(/\!/g, %21).replace(/ \*/g, %2A).replace(/'/g, %27).replace(/\(/g, %28).replace(/\)/g, %29); On Jul 28, 8:08 am, manjusg geodesic...@gmail.com wrote: Hi , i tried to send the tweet message containing the character '*'. but it responds with invalid signatture. issue is same for this character '`' also.
[twitter-dev] Twitter Stream API - Location filtering limited to the Western Hemisphere?
I'm attempting to stream Tweets from the UK as a whole(filtering further with tracking words), using Twitters stream API, however I'm having trouble with my bounding box. The LAT/LON pairs I'm using to define a bounding box of the whoe UK(Ire included) is as follows. -9.05, 48.77, 2.19, 58.88 However when I try to use this with the Twitter stream API, it states the following error message. Location track must be less than 1 degrees on a side: LocationTrack(48.77,-9.05,58.88,2.19) I can't imagine that Twitter do not allow you a specify a bounding box that covers an area that crosses between the negative/positive LAT. Am I missing something here, or would this mean that Twitter only allow you to stream if you are in the Wester hemishphere, effectively? If anyone has a suggest as to how I might be able to over-come this, I'd be very interested in hearing you out.
[twitter-dev] Re: Twitter Stream API - Location filtering limited to the Western Hemisphere?
Ah, very true - apologies I mis-understood the meaning of 'degree'. Thanks, I understand the problem now. Seidr On Jul 21, 4:08 pm, Dave Ingram d...@dmi.me.uk wrote: On 07/21/10 15:13, James wrote: I'm attempting to stream Tweets from the UK as a whole(filtering further with tracking words), using Twitters stream API, however I'm having trouble with my bounding box. The LAT/LON pairs I'm using to define a bounding box of the whoe UK(Ire included) is as follows. -9.05, 48.77, 2.19, 58.88 However when I try to use this with the Twitter stream API, it states the following error message. Location track must be less than 1 degrees on a side: LocationTrack(48.77,-9.05,58.88,2.19) I can't imagine that Twitter do not allow you a specify a bounding box that covers an area that crosses between the negative/positive LAT. Am I missing something here, or would this mean that Twitter only allow you to stream if you are in the Wester hemishphere, effectively? If anyone has a suggest as to how I might be able to over-come this, I'd be very interested in hearing you out. Just a thought, but the error says that the bounding box must be at most one degree on each side... and that box is about 11x10. It does seem like a bit of a restriction, but still... D
[twitter-dev] Re: Which one are you using in your mobile app? xAuth or oAuth?
On Jul 9, 8:01 am, Bess bess...@gmail.com wrote: So far I only learn of one Twitter-based app is using OAuth - Twitter official app (not sure it is out in app store yet). I personally like to learn the best practice on OAuth and best OAuth library used in iPhone, Android, Nokia and Blackberry. +1 We have some existing apps (iPhone / iPad and Android) that use Basic Auth and are migrating to OAuth. I'm guessing that Twitter for iPhone uses xAuth - I didn't have to enter a PIN or allow the app via a web UI. Some additional examples would be nice. Cheers, James On Jul 7, 10:19 am, Oscar Cortes ocort...@gmail.com wrote: Thanks for the feedback Rich. I didn't know that the embedded web browser could be used for this. Can someone point me out to an iPhone or iPad app that uses oAuth with the embedded web browser? I would like to try it out. Oscar On Jul 6, 6:28 pm, Rich rhyl...@gmail.com wrote: We are using oAuth on the iPhone. It works great and I don't see why xAuthshould be allowed on iPhone as the embedded web browser is more than capable On Jul 6, 8:55 pm, Oscar Cortes ocort...@gmail.com wrote: We are about to integrate Twitter support in our iOS library and we are seeing that some devs preferxAuthover oAuth? Which one are you using and why? Does Twitter push for one of them more? Thanks
[twitter-dev] Re: Location information only delivered on geocoded searches?
Sure, I'll report the bug. I also know that location should secondary to geo, I just was trying to get any/all relevant geo. On Jul 8, 5:57 pm, Matt Harris thematthar...@twitter.com wrote: Hi James, I'm not sure why the location field is missing from those search results so I'll need to follow that up. Can you file it as a defect in the API Issues List:http://code.google.com/p/twitter-api/issues/list and i'll look into it. Just to clarify though, the location field is the location you see under a users name on their Twitter profile page. It is a free-text field in which the user can put anything they want. If Twitter Search can reverse geocode the text in that field it will use it as the geo for the Tweet only when the Tweet itself doesn't have any geo co-ordinates. This means when you perform a Geocoded Twitter Search you may see results you wouldn't expect. For example somebody who says their location is San Francisco but is on holiday in New York may not geocode their Tweets and so their Tweets will be indexed as being in San Francisco. Hope that explains how this works. Thanks, Matt On Thu, Jul 8, 2010 at 6:16 AM, James tedr...@gmail.com wrote: Hi there, I'm getting started with using the search API; I'm a GIS guy looking at how to ingest tweets with geo or location info. I'm seeing an odd behavior with the location element- it seems the location info is only displayed when I submit a geocoded search. As an example: In the results for http://search.twitter.com//search.json?q=%23geoglobaldomination is the following tweet: {Thu, 08 Jul 2010 01:43:02 +, from_user:geo_rube, metadata:{result_type:recent}, to_user_id:1203277,text:@wonderchook You need to write a book quot;Adventures in #Geoglobaldominationquot; or quot;Bangin BPquot;, id:17997780478,from_user_id:100089794, to_user:wonderchook,geo:null,iso_language_code:en,source:lt;a href=quot;http://www.tweetdeck.com; rel=quot;nofollowquot;gt;TweetDecklt;/agt;} Note no location info. However, if I do http://search.twitter.com/search.json?q=%23geoglobaldominationgeocod... The result is: {location:Springfield, VA,profile_image_url:http://a1.twimg.com/ profile_images/907787936/shitstorm_normal.jpg,created_at:Thu, 08 Jul 2010 01:43:02 +,from_user:geo_rube,metadata: {result_type:recent},to_user_id:1203277,text:@wonderchook You need to write a book quot;Adventures in #Geoglobaldominationquot; or quot;Bangin BPquot;,id: 17997780478,from_user_id: 100089794,to_user:wonderchook,geo:null,iso_language_code:en,source:lt;a href=quot;http://www.tweetdeck.com; rel=quot;nofollowquot;gt;TweetDecklt;/agt;} -- Matt Harris Developer Advocate, Twitterhttp://twitter.com/themattharris
[twitter-dev] Location information only delivered on geocoded searches?
Hi there, I'm getting started with using the search API; I'm a GIS guy looking at how to ingest tweets with geo or location info. I'm seeing an odd behavior with the location element- it seems the location info is only displayed when I submit a geocoded search. As an example: In the results for http://search.twitter.com//search.json?q=%23geoglobaldomination is the following tweet: {Thu, 08 Jul 2010 01:43:02 +, from_user:geo_rube, metadata:{result_type:recent}, to_user_id:1203277,text:@wonderchook You need to write a book quot;Adventures in #Geoglobaldominationquot; or quot;Bangin BPquot;, id:17997780478,from_user_id:100089794, to_user:wonderchook,geo:null,iso_language_code:en,source:lt;a href=quot;http://www.tweetdeck.comquot; rel=quot;nofollowquot;gt;TweetDecklt;/agt;} Note no location info. However, if I do http://search.twitter.com/search.json?q=%23geoglobaldominationgeocode=38.895111,-77.036667,100mi The result is: {location:Springfield, VA,profile_image_url:http://a1.twimg.com/ profile_images/907787936/shitstorm_normal.jpg,created_at:Thu, 08 Jul 2010 01:43:02 +,from_user:geo_rube,metadata: {result_type:recent},to_user_id:1203277,text:@wonderchook You need to write a book quot;Adventures in #Geoglobaldominationquot; or quot;Bangin BPquot;,id: 17997780478,from_user_id: 100089794,to_user:wonderchook,geo:null,iso_language_code:en,source:lt;a href=quot;http://www.tweetdeck.comquot; rel=quot;nofollowquot;gt;TweetDecklt;/agt;}
Re: [twitter-dev] US Location Stream
Hi JC. What are the limits on free? We're wary of locking ourselves into a service that we won't be able to afford. On Mon, Jul 5, 2010 at 2:44 AM, Jean-Charles Campagne a...@semiocast.com wrote: Hello James, may be you would be interested in looking at our API which provides language and location filtering on tweets. More specifically, you'll find an example for filtering tweets based on location and on language under Example: filtering by language and location, located at the URL http://developer.semiocast.com/tutorial/twitter Do not hesitate to visit our API website: http://developer.semiocast.com or ask for more information. Hope you'll find this useful. Best regards, Jean-Charles Campagne Semiocast On Sat, Jul 3, 2010 at 1:26 AM, James Kim ja...@keytweet.com wrote: Hi John, Thanks for the quick reply. Is there a way to exclude non-english tweets from the stream like the search api does? On Fri, Jul 2, 2010 at 4:03 PM, John Kalucki j...@twitter.com wrote: Hi James, Nope. Even if we allowed all the bounding boxes to cover the US, you'd only get the tweets that are geo-tagged, which isn't a large proportion. -John On Fri, Jul 2, 2010 at 3:55 PM, James Kim ja...@keytweet.com wrote: Hi all, I'm trying to capture all the tweets originating from the US. Is there a simple way to do this without creating many bounding boxes? -- James C. Kim @jamesckim http://keytweet.com - a learning filter for twitter -- James C. Kim @jamesckim http://keytweet.com - a learning filter for twitter
Re: [twitter-dev] US Location Stream
Hi John, Thanks for the quick reply. Is there a way to exclude non-english tweets from the stream like the search api does? On Fri, Jul 2, 2010 at 4:03 PM, John Kalucki j...@twitter.com wrote: Hi James, Nope. Even if we allowed all the bounding boxes to cover the US, you'd only get the tweets that are geo-tagged, which isn't a large proportion. -John On Fri, Jul 2, 2010 at 3:55 PM, James Kim ja...@keytweet.com wrote: Hi all, I'm trying to capture all the tweets originating from the US. Is there a simple way to do this without creating many bounding boxes? -- James C. Kim @jamesckim http://keytweet.com - a learning filter for twitter
[twitter-dev] Re: oauth status update returning error 401 invalid / used nonce
Hi Craig, Taylor, did you guys ever figure out what the problem was? I am having a very similar issue to Craig. I am trying to post a status update to Twitter from a server-side PHP app. More specifically, it is to automatically tweet updates from a news site I help develop. I'm using all the same types of HTTP authorization headers, and base strings, and tokens and such as Craig, but I can't get any variation to work. I've used OAuth programmatically with Vimeo quite successfully. With Twitter, however, I've no luck. One thing I'm perhaps not clear on, do I need xAuth for this to work? Regards, James. On Jun 17, 12:28 am, Taylor Singletary taylorsinglet...@twitter.com wrote: Can you follow up with me off the list and I'll help you out tomorrow? We'll need to compare signatures and work with me knowing your application secrets. There's something subtle going on. Taylor On Wed, Jun 16, 2010 at 3:22 PM, Craig chanson9...@gmail.com wrote: Just tried it. Same error. So at least that rules something out... -Craig On Jun 16, 5:19 pm, Taylor Singletary taylorsinglet...@twitter.com wrote: I agree that it's the wrong error. We have a new, better implementation of OAuth waiting in the wings that's going to be much more helpful in this regard. I'm still trying to rule out some possibilities. Can you try and create a new application, then grab the access token from the my access token feature, and try to post? It'll just help rule something out. Taylor Singletary Developer Advocate, Twitterhttp://twitter.com/episod On Wed, Jun 16, 2010 at 1:55 PM, Craig chanson9...@gmail.com wrote: I am in read/write mode. I tried posting to two different twitter accounts without luck...my dev account, where I know what the access secret and token is supposed to be and another one I just created. I know my access token and secret are being stored correctly and I believe they are being used correctly in the auth header and the signature base string. Other thoughts? It would be nice to get an error returned that was a little more indicative of what the problem might be. Invalid/used nonce isn't really cutting it right now. Thanks, Craig On Jun 16, 3:52 pm, Taylor Singletary taylorsinglet...@twitter.com wrote: Our setup is such that I can't easily trace a single request. Connecting some dots: if you have time, can you try to use a different access token with your keys and see if it has the ability to tweet? Can you go to your application settings and verify that your application is in read/write mode on dev.twitter.com? Finally, this might be a case of something funky with your client application -- which might be resolved by creating a new one. But let's rule out some other possibilities first. Taylor Singletary Developer Advocate, Twitterhttp://twitter.com/episod On Wed, Jun 16, 2010 at 12:39 PM, Craig chanson9...@gmail.com wrote: By the way, even when I try to tweet with just one word like: tweet, it doesn't work. Just simple ascii characters. Is there any way you can just intercept one of my test tweets and look at what, if anything might be going wrong on the server side? -Craig On Jun 16, 3:05 pm, Craig chanson9...@gmail.com wrote: My signature base string status pair looks like: status%3Dmy%2520tweet When I tried xAuth authentication with a * character in the password, it didn't work at first. But once I double url encoded it, I was able to authenticate no problem. So that definitely helps. I am now double url encoding the username and password values. However, the tweet still didn't work. I am double url encoding the status message in the signature base string and single url encoding it in the post body. Thanks, Craig On Jun 16, 11:30 am, Taylor Singletary taylorsinglet...@twitter.com wrote: Hi Craig, Do you know if the status update, status=my%20tweet is being encoded correctly in your signature base string (which is the string used to create your signature). For the signature base string, the key/value pair would look like: status%3Dmy%2520tweet Have you tried your xAuth authentication with spaces and other possible odd characters yet in fields like the password? Taylor On Wed, Jun 16, 2010 at 8:21 AM, Craig chanson9...@gmail.com wrote: Hi Matt, Thanks for responding. My authorization header is still the same as it was in my first message above. Here it is for another request I just tried: OAuth oauth_nonce=TEeSMm8q3m5abhmppain, oauth_signature_method=HMAC- SHA1, oauth_timestamp
[twitter-dev] Re: oauth status update returning error 401 invalid / used nonce
Thanks for the response. I am using the consumer key and secret found here: http://dev.twitter.com/apps/my app id number And the access token and secret found here: http://dev.twitter.com/apps/my app id number/my_token No joy. On Jun 30, 9:47 pm, Andrew W. Donoho andrew.don...@gmail.com wrote: On Jun 30, 2010, at 14:32 , James Ford wrote: One thing I'm perhaps not clear on, do I need xAuth for this to work? You do need to get the access token somehow. That is what xAuth provides you. That said, you sound like you are a server app. Twitter doesn't support xAuth for server apps. You probably need to use the standardOAuthtoken request protocol. Anon, Andrew Andrew W. Donoho Donoho Design Group, L.L.C. a...@ddg.com, +1 (512) 750-7596 To take no detours from the high road of reason and social responsibility. -- Marcus Aurelius
[twitter-dev] Re: Entities not working?
I can't get entities to show up at all simply browsing to http://twitter.com/statuses/friends_timeline.xml?include_entities=true Has this feature been pulled or am I doing something wrong? J On May 29, 1:02 am, Ellsass cpa...@gmail.com wrote: I've retooled my app a bit to avoid using count=X in my REST requests, and I've been getting theentitiesvery consistently. Is no one else having issues using 'count' along with 'include_entities'? On May 28, 12:23 pm, Ellsass cpa...@gmail.com wrote: Strangely, it's working along with the parameter since_id under some conditions. My web app initially loads home_timeline?count=100 (the app is in its infancy and only I use it, otherwise I'd be using since_id and a cache). Every three minutes thereafter, an ajax call gets new tweets using home_timeline?since_id=[id]include_entities=true. That works -- it retrieves theentities. However, if I manually refresh (i.e., call the exact same ajax function explicitly rather than wait for the setTimeout to do it), I get the error 500 page as the response, as described below. On May 27, 9:40 pm, Ellsass cpa...@gmail.com wrote: For most of the day I was getting the newentitiesjust fine, but for the last hour or two my home_timeline XML request is met with the Something is technically wrong. page as the response. I am using PHP EpiTwitter. This works fine: $twitterInfo = $twitterObj-get_statusesHome_timeline(array(count = $numTweets)); This was working for most of the day, but not recently: $twitterInfo = $twitterObj-get_statusesHome_timeline(array(count = $numTweets , include_entities = true));
[twitter-dev] Tweetbox with default text
hi- when I make a tweetbox with default text, the Tweet button is grayed out. Only when I click inside the text area of the tweetbox does the Tweet button become clickable. Is there anyway to make it clickable without someone having to click inside the box? The default text doesn't usually need to modified so I found myself clicking the grayed out button over and over thinking it was not working rather than inactive.
[twitter-dev] Re: TWITTER BANS 3rd PARTY ADVERTISING
The more I think about this situation, the less I like it. At first I was happy that the service I work on was not banned by this ToS change. Even though we use twitter data for monetisation, we don't insert data into timelines. However, when I look at the services that have now been banned, I can't see any warning signs other than that they were competing with Twitter for monetising their data. This is what my service does. Even though it's not currently banned, doesn't it make sense to abandon development now? The best I can hope for it that it *isn't* wildly successful, so Twitter doesn't consider it competition... Every time I read Twitter's explanation for the situation, it reads as we know our monetisation strategy can't compete with third parties in the short term, so we're banning all competition. Hardly conducive to fostering the best solutions, particularly when Twitter will always have the upper hand with their official monetisation platform and analytics for resonance, anyway. What's even worse is the the new ToS is *still* completely ambiguous. Until I saw Peter's post here I had no idea that the ban was only in the publishing end, not insertion. Of course all this makes sense from Twitter's perspective, but for third parties... that just leaves us on an ever changing playing field with invisible goals. I could have lived with rules and rev share additions, but completely banning competition... not so much. Concerned. James PS what's the point of this paragraph from the blog post? We understand that for a few of these companies, the new Terms of Service prohibit activities in which they’ve invested time and money. We will continue to move as quickly as we can to deliver the Annotations capability to the market so that developers everywhere can create innovative new business solutions on the growing Twitter platform. a slap in the face? We understand that we've wasted your time and money, so here's the next thing for you to waste time and money on. No guarantees, no apologies. On May 26, 6:07 pm, Dean Collins d...@cognation.net wrote: Dewald, it's because you have amateurs running the zoo that are learning as they go. Honestly my opinion is that it's Twitters rights to change the rules as they go - it's their network and their right to do so, but it's also my right as an investor in application development to not invest any more time or money on Twitter until they bring in a management layer that has experience I building ecosystems and knows how to encourage sustainable development. Can you imagine if salesforce pulled a stunt like this? Cheers, Dean -Original Message- From: twitter-development-talk@googlegroups.com [mailto:twitter-development- t...@googlegroups.com] On Behalf Of Dewald Pretorius Sent: Monday, 24 May 2010 9:27 PM To: Twitter Development Talk Subject: [twitter-dev] Re: TWITTER BANS 3rd PARTY ADVERTISING Liz, You are 100% correct in summarizing the problem. Not only were those businesses built with the full knowledge of Twitter, Twitter even had specific rules governing sponsored tweets (had to be clearly marked as sponsored, etc.). I'm really baffled by this decision of Twitter, because I don't understand how they expect to have integrity and trust with developers while doing this type of stuff. Right now we are all being pointed to Annotations as the holy grail of new development. But how do we know that they won't yet again change a rule in the future that will kill businesses that were built on top of Annotations? On May 24, 3:56 pm, Liz nwjersey...@gmail.com wrote: Peter, I think the problem is that business have been created, received funding and developed over the past year, with the full knowledge of Twitter, and this just undercuts destroys them. I think people can understand the rationale (and the desire for Twitter to eliminate competition) but this is a policy decision that should have been made over a year ago. Twitter should have included this in an earlier terms of service instead of giving an implicit okay to services like Sponsored Tweets which has turned into a successful company. It also seems disingenuous that the blog post says that a guiding principle of Twitter is that We don't seek to control what users tweet. And users own their own tweets. and allow adult-oriented content and photos but for some reason, users can't Tweet ads. That sounds like control of content to me. Liz
[twitter-dev] twitter stream
I just curious on what peoples thought are on the new twitter stream? Also would like to know if ajax is good at handling the stream or should I be using some other technology when using the stream API?
[twitter-dev] Story on Twitter and Google
If anyone is interested, I wrote a story about Twitter and Google that was finally posted yesterday on digitalmediabuzz.com. Thank you Ed Borasky for your imput. However, I still have yet to hear anything from Twitter. Hint hint. Let me know if you have any questions. James http://www.digitalmediabuzz.com/2010/05/archiving-tweets-with-google/ On Wed, May 12, 2010 at 12:08 PM, Taylor Singletary taylorsinglet...@twitter.com wrote: To my knowledge (and I might be wrong, but this is what I understand to be true): - there is a limit of 250 DMs per day for a user account, blanketly applied. Whitelisting for an application has no effect on this limit. This isn't an API limit. It's a limit for a Twitter user. A twitter user could contribute to their allocation by using the website or an API client. Taylor Singletary Developer Advocate, Twitter http://twitter.com/episod On Wed, May 12, 2010 at 8:43 AM, Mo maur...@moluv.com wrote: I'm trying to find a reliable source for whitelist limits for Direct Messaging. I looked through the direct messaging limits and best practices for individual services? thread - http://bit.ly/cLVv1Q but there weren't any authoritative descriptions of whitelist limits. What I'm looking for is: 1. DMs allowed per user per hour, and per day - (Where user is defined as someone using an app). 2. DMs allowed per app per hour, and per day I saw that Doug Williams had said that whitelisted users get 5000 DMs per day, but didn't specify whether that was an app total or a total for a random user using an app for DMs. The hourly limit for whitelisted apps wasn't specified at all. -Mo http://www.pay4tweet.com -- James Zipadelli Freelance Journalist http://jameszipadelli.com twitter.com/redsoxlive (860) 878-0469 We must not confuse dissent with disloyalty. --Edward R. Murrow
Re: [twitter-dev] Legitimate message or spam?
I just wanted to ask someone, have they gotten an email like this or is this spam? Information Message #79 InboxX Reply |Twitter System to me show details 7:57 PM (14 hours ago) Warning: This message may not be from whom it claims to be. Beware of following any links in it or of providing the sender with any personal information. Learn more Hi, Twitter-er! You have 2 (or more) incoming message(s) from Twitter System http://twitter.com/account/message/D036-83A1 The Twitter Team Please do not reply to this message; it was sent from an unmonitored email address. This message is a service email related to your use of Twitter. For general inquiries or to request support with your Twitter account, please visit us at Twitter Support. -- James Zipadelli Freelance Journalist http://jameszipadelli.com twitter.com/redsoxlive (860) 878-0469 We must not confuse dissent with disloyalty. --Edward R. Murrow
Re: [twitter-dev] Legitimate message or spam?
Hi Taylor, Thanks. Do you think someone in your press department can get back to me by Friday? The story on Twitter that I'm doing is not a story without Twitter. They can reach me at (860) 878-0469. Cordially, James Zipadelli On Wed, May 5, 2010 at 10:20 AM, Taylor Singletary taylorsinglet...@twitter.com wrote: Hi James, These aren't from Twitter.. http://status.twitter.com/post/543461679/reports-of-fake-twitter-emails Taylor Singletary Developer Advocate, Twitter http://twitter.com/episod On Wed, May 5, 2010 at 7:18 AM, James Zipadelli jzipade...@gmail.comwrote: I just wanted to ask someone, have they gotten an email like this or is this spam? Information Message #79 InboxX Reply |Twitter System to me show details 7:57 PM (14 hours ago) Warning: This message may not be from whom it claims to be. Beware of following any links in it or of providing the sender with any personal information. Learn more Hi, Twitter-er! You have 2 (or more) incoming message(s) from Twitter System http://twitter.com/account/message/D036-83A1 The Twitter Team Please do not reply to this message; it was sent from an unmonitored email address. This message is a service email related to your use of Twitter. For general inquiries or to request support with your Twitter account, please visit us at Twitter Support. -- James Zipadelli Freelance Journalist http://jameszipadelli.com twitter.com/redsoxlive (860) 878-0469 We must not confuse dissent with disloyalty. --Edward R. Murrow -- James Zipadelli Freelance Journalist http://jameszipadelli.com twitter.com/redsoxlive (860) 878-0469 We must not confuse dissent with disloyalty. --Edward R. Murrow
[twitter-dev] Story on Chirp for DigitalMediaBuzz.com
Good morning, I understand Twitter had a developer's conference called Chirp a few weeks back. I would like to discuss potential trends for Twitter regarding this conference for our Web site, digitalmediabuzz.com. This story is due Friday, May 7th. If anyone knows any developers at the conference that wish to contribute to my story, let me know. You can reach me at jzipade...@gmail.com. Thank you, James Zipadelli
[twitter-dev] statuses/show.json: profile_background_image_url erroneously populated for users with the background image disabled.
In results from statuses/show.json, the user data returned sometimes contains a 'profile_background_image_url' for users that have chosen to turn off the background image on their profile. I've made an app that attempts to mimic the user's profile design as closely as possible and this is causing acute ugliness in some cases. e.g. http://www.exquisitetweets.com/tweets?ids=10795543407.10795729981.10796641044.10797050988.10797098108.10796710716.10797057786.10797742374 You'll notice that tweets from the user ru show the default theme's cloudy background, while on his profile the background image is hidden: http://twitter.com/ru It would be great if the API could either return an empty profile_background_image_url field in this case or provide an extra profile_background_image_hidden boolean field to indicate whether they've chosen to hide the image in their design settings. Thanks. - James -- Subscription settings: http://groups.google.com/group/twitter-development-talk/subscribe?hl=en
[twitter-dev] Re: [twitter-api-announce] Early look at Annotations
Developers can use reverse-FQDNs (like Java's packages) for their namespaces, which prevents collisions without actually requiring nesting. -James A. Rosen On Apr 16, 2:51 pm, Marcel Molina mar...@twitter.com wrote: More namespace nesting would of course increase people's ability to taxonomize. It's a splippery slope though and we are trying to balance expressiveness with simplicity. Providing for arbitrarily nested namespaces increases complexity considerably both from an implementation perspective and a comprehension perspective. On Fri, Apr 16, 2010 at 11:45 AM, gabriele renzi rff@gmail.com wrote: * What is an annotation more exactly exactly? First off let's be clearer about what an annotation is. An annotation is a namespace, key, value triple. A tweet can have one or more annotations. Namespaces can have one or more key/value pairs. first, annotations are cool, thanks. But why triples instead of quads? Say, we'd like to store three groups of movie data . If I do movie: rating: 5 then we risk conflict with someone else using the same namespace in a different way, e.g. movie: rating: * . At the same time, if I use the namespace for my application to avoid conflicts, I have to encode two of the fields in one cascaad: movie_rating : or cascaad_movie : rating: Did you consider this and decided it's not worth making the effort for a fourth field, or just ignored the issue, or simply didn't think of it? If triples are staying, can we establish a _convention_ early on on how to best handle this? -- Subscription settings: http://groups.google.com/group/twitter-development-talk/subscribe?hl=en -- Marcel Molina Twitter Platform Teamhttp://twitter.com/noradio
[twitter-dev] Annotation details
Just curious if there is any documentation on how annotations will be implemented? Any ideas on size limitations or restrictions for this meta data? -- To unsubscribe, reply using remove me as the subject.
[twitter-dev] Re: Follow Limit Frustrations
Is anyone able to help me with this or should I be asking this question somewhere else? Thanks, James
[twitter-dev] Follow Limit Frustrations
Hi there, As part of my application I've written a script which monitors the followers of my twitter account and updates my database accordingly. The idea being that the number of records in my database table (users) is identical to the number of followers of my Twitter account. I've hit a problem a couple of times while debugging it that I've accidently ended up unfollowing all my users. Stupid I know but accidents happen :-). The end result of this is my account has 14 following and I've 0 followers. I'm now hitting this You are unable to follow more people at this time. Learn more here. message constantly to the point that everything comes to stand still and I can't do anymore application work because I don't have any users :-(. If I left it for a while things seem to reset themselves but reading the documentation on this help page I'm a bit confused as to what rule I've hit for this to be caused.. http://help.twitter.com/forums/10713/entries/66885 My application is whitelisted, I have less than 2000 users and I'm not likely to get anymore followers just now as the application is in testing. Any help in this would be much appreciated. Cheers, James
[twitter-dev] Twitter API call to statuses/followers.json / xml - protected users out of sync.
Hi there, Hope I'm in the right group for this, sorry if I'm not. I'm trying to build a little experiemental app using the Twitter API. As part of this I'm wanting to pull in the information on all my followers, using: http://twitter.com/statuses/followers.json I'm getting the results fine but I've noticed over the past couple of days that those followers that are protected are really out of sync. The one I'm look at just now (my wife) shows up as having her latest tweet this morning. There is no way she'd leave Twitter for that long :-) and the results are not the same as what I see in Tweetdeck or on the Website. Is anyone else seeing this and / or have any suggestions as to what I'm doing wrong? I've also tried statuses/friends and that's giving me that same. Are there any other methods I could use? I've raised a bug ticket with Twitter as strangely nobody seems to have, and now wondering while writing this if maybe it is me that's got this wrong, lol. Thanks a lot, James
[twitter-dev] API 140 character truncation change?
Has anyone else noticed a change in the way that the 140 character limit is enforced via the API? I noticed a change sometime between the 13th and the 16th that is now causing all my 140+ character posts to be rejected by the API. As of the 13th and earlier if I posted a 140+ character message to twitter, the urls would be truncated using bit.ly, and then if they were still over 140 characters an ellipsis would be added to the end of the message, and by clicking on the ellipsis you could see the entirety on the message. I have a service that posts to twitter, and in the messages it contains links. My service aims to be under 140 characters once the url(s) are shortened by twitter, however none of my posts are going through now. Also a side note is that the api is not returning errors, they return proper responses however they are the proper response for the current status of the account, not the new status that was just attempted to be posted. I am using C# and the Twitterizer API. Has anyone else noticed this, is it a permanent change? a mistake? I am currently trying to learn more about why this happened and what my proper response should be. Thank you
[twitter-dev] Odd behavior with the search API when using since_id
Hello, This has just appeared in the last few days. When I perform a search with the search API I keep track of the newest status id so I can pass that back when doing the next query (as since_id) so that only tweets with a status id greater than since_id are returned. Oddly, beginning yesterday the search API started returning the status specified in since_id but only when I specify a from: parameter to limit the search to a specific user. It's like it is returning statuses = since_id instead of since_id when I add the from: parameter. Anyone else seen odd behavior when using from:?
[twitter-dev] incomplete json response from twitter search query
I used the twitter API search query maker to create a query. In a browser it returns a JSON file with the expected amount of entries for the first page. I use the same url query with my javascript application using an Ajax.Request. This returns only about two entries and a half entries and the last entry is not complete. I should get 50 entries from the first Ajax request. I do get 50 entries from the browser for the same query. Here is the code - is there a parameter I'm missing in either the url or the Ajax request? Any recommendations or suggestions would be appreciated. thanks, James Assistant.prototype.twitterRequest = function(){ url=http://search.twitter.com/search.json?q=ands=phrase=ors= %24BAC+%24BTU+ %24LLYnots=tag=lang=enfrom=to=ref=near=within=15units=misince=until=rpp=50; new Ajax.Request(url, { method: 'get', requestHeaders: { Accept: 'application/json' }, onSuccess: function(transport){ var json = transport.responseText; } }) };
[twitter-dev] Re: DDoS update: Friday 8PM PDT
On Aug 7, 8:20 pm, Chad Etzel c...@twitter.com wrote: Here is the state of things as we know them: - The DDoS attack is still ongoing, and the intensity has not decreased at all Has anyone had a close enough look at the botnet infection to deduce the command channel traffic? For better or worse (time will tell) there are plenty of government grey hats with wiretap-ready Narus access who may not be able to contact you directly, but who would sure know what to do and would be willing to do it if you could describe the botnet command channel characteristics. I remember not very long ago a botnet was described, by one of Felton's students if I remember right, on some blog post, and then a week later someone else who had captured an infection in a vm debugger got to watch as it received a very nicely crafted command to unlink from the host boot sequence and exit. If you want that kind of help from the shadows, you gotta help the spooks figure out the control channel behind the attack. Good luck, and remember it won't be long after it passes before you can look back and laugh, so keep your chins up!
[twitter-dev] Re: set the from [Application]
set the source parameter. hth, - james On Sun, Aug 2, 2009 at 10:49 PM, Pek wushup...@gmail.com wrote: how do you set the from field when you tweet from the API. Right now mine says from API. I'd like it to say from [My Application] I've set all the fields necessary from the apps settings
[twitter-dev] Re: set the from [Application]
ahhh, that explains why my basic-auth source attribution is still working. thx! - james On Mon, Aug 3, 2009 at 6:54 AM, Duane Roelands duane.roela...@gmail.comwrote: If you're developing a new application, you -must- use OAuth if you want the From line to display your application's name. It used to work for Basic Auth, but Twitter disabled that. Applications that had been working when they disabled it were grandfathered in, but apps created after that point must use OAuth to have access to this feature. On Aug 3, 6:47 am, Sam Street sam...@gmail.com wrote: I've had this difficulty too, with the 'source' parameter being ignored. I recommend using OAuth which handles it all fine. I'm weary about providing my password to apps these days On Aug 3, 6:49 am, Pek wushup...@gmail.com wrote: how do you set the from field when you tweet from the API. Right now mine says from API. I'd like it to say from [My Application] I've set all the fields necessary from the apps settings
[twitter-dev] Re: set the from [Application]
looks like my app (http://twitter.com/#search?q=%23twine) was grandfathered in. - james On Mon, Aug 3, 2009 at 2:44 AM, Rich rhyl...@gmail.com wrote: I thought for new applications the only way was via oAuth, and then the source is taken automatically because of your access token. On Aug 3, 7:13 am, James Todd james.w.t...@gmail.com wrote: set the source parameter. hth, - james On Sun, Aug 2, 2009 at 10:49 PM, Pek wushup...@gmail.com wrote: how do you set the from field when you tweet from the API. Right now mine says from API. I'd like it to say from [My Application] I've set all the fields necessary from the apps settings
[twitter-dev] Re: Oauth and Twitter for login.
Hi there, Has there been any update on using twitter for authentication. I seem to remmeber seeing this in the wild but would like to add it to my app. cheers James On Apr 13, 4:54 pm, Paul Kinlan paul.kin...@gmail.com wrote: Hi Matt, Yeah I saw the change log, but thought that the presence in the UI was the other half of the deployment. Sorry about that, I am pretty eager :) Ah well, I look forward to seeing the solution so I can put it into both twollo and twe2 :) Cheers, Paul 2009/4/13 Matt Sanford m...@twitter.com Hi Paul, This was mentioned in one of the change log notices last week. Well, I mentioned that we're half-deployed. I'm awaiting a few more pieces before there is an official announcement. Stay Tuned; — Matt Sanford On Apr 13, 2009, at 08:40 AM, Paul Kinlan wrote: Hi, I have just started to implement oAuth forhttp://www.twollo.com, and when registering my app for oAuth I noticed: Use Twitter for login: Yes, use Twitter for login Does your application intend to use Twitter for authentication? This is excellent news, for reasons I have mentioned in previous emails, however, unless I have missed something, is there anything I need to do to use this functionality? Or is it just the normal oAuth workflow - I am hoping that it is similar to the way I implement oauth support on http://oauth.twe2.com/ Paul.
[twitter-dev] Re: Posting a status update to the Mobile version of Twitter
Just to confirm my understanding, is clickjacking not an issue when using http://twitter.com/ but it potentially is when using http://m.twitter.com/ ? Can you suggest what the preferred way to provide this type of easy- linking functionality might be for mobile? Cheers, James On Mar 3, 11:15 pm, Alex Payne a...@twitter.com wrote: In order to prevent clickjacking attacks, we had to disable this functionality. On Tue, Mar 3, 2009 at 13:44, aschobel ascho...@gmail.com wrote: To clarify, we only want to prepopulate the status field. This works on the standard version, doesn't work on the mobile version. It used to work on mobile version according to this thread: http://groups.google.com/group/twitter-development-talk/browse_thread... Cheers, Andreas Follow us on Twitter @3banana http://twitter.com/3banana On Mar 3, 1:00 pm, aschobel ascho...@gmail.com wrote: We are having problems posting status updates to the mobile version of Twitter, it looks like the status input field for the mobile version comes with a default value of . input type=text name=status id=status maxlength=140 class=i value=/ For the standard version of Twitter, we can pre-populate the status field by doing opening the following page: http://twitter.com/home?status=Hello%20world Our app for Android lets folks share their notes to Twitter, and this was working fine until Twitter started detecting the user agent for Android and giving people the mobile version instead of the standard version. Is there a way to force the Standard version? Passing in ui_type=s doesn't do anything. We support Twidroid, but not everybody has that installed. Cheers, Andreas Follow us on Twitter @3bananahttp://twitter.com/3banana -- Alex Payne - API Lead, Twitter, Inc.http://twitter.com/al3x
[twitter-dev] Re: Getting Source Parameter in Java from XML returns
package jtwitter; import java.net.MalformedURLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class TwitterEntry { // Twitter Entry Nodes (each corresponds to a XML node with the same name) public static final String CREATED_AT = created_at; public static final String ID = id; public static final String TEXT = text; public static final String SOURCE = source; private Date createdAt; private int id; private String text; private String source; private TwitterUser user; //This is currently the date format used by twitter public static final String TWITTER_DATE_FORMAT = EEE MMM dd kk:mm:ss Z ; public TwitterEntry(Date createdAt, int id, String text, String source, TwitterUser user) { super(); this.createdAt = createdAt; this.id = id; this.text = text; this.source = source; this.user = user; } public TwitterEntry() { this.user = new TwitterUser(); } public Date getCreatedAt() { return createdAt; } public void setCreatedAt(Date createdAt) { this.createdAt = createdAt; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getSource() { return source; } public void setSource(String source) { this.source = source; } public TwitterUser getUser() { return user; } public void setUser(TwitterUser user) { this.user = user; } @Override public int hashCode() { final int PRIME = 31; int result = 1; result = PRIME * result + id; return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final TwitterEntry other = (TwitterEntry) obj; if (id != other.id) return false; return true; } public void addAttribute(String key, String value) throws ParseException, MalformedURLException { if(key.equals(CREATED_AT)) this.setCreatedAt(makeDate(value)); else if(key.equals(ID)) this.setId(Integer.parseInt(value)); else if (key.equals(TEXT)) this.setText(value); else if (key.equals(SOURCE)) this.setSource(value); else if (key.equals(TwitterUser.NAME)) this.getUser().setName(value); else if (key.equals(TwitterUser.SCREEN_NAME)) this.getUser().setScreenName(value); else if (key.equals(TwitterUser.LOCATION)) this.getUser().setLocation(value); else if (key.equals(TwitterUser.DESCRIPTION)) this.getUser().setDescription(value); else if (key.equals(TwitterUser.PROFILE_IMAGE_URL)) this.getUser().setProfileImageURL(value); else if (key.equals(TwitterUser.URL)) this.getUser().setUrl(value); else if (key.equals(TwitterUser.IS_PROTECTED)) this.getUser().setProtected(Boolean.parseBoolean(value)); } public String toString() { return Created At: + this.getCreatedAt() + ; + Status: + this.getText() + ; + User: + this.getUser(); } private Date makeDate(String date) throws ParseException { return new SimpleDateFormat(TWITTER_DATE_FORMAT, Locale.US).parse (date); } } On Apr 16, 7:41 am, Cameron Kaiser spec...@floodgap.com wrote: I have a Twitter application that I created in Java and I am able to get the source parameter by using XMLParser. I have my application to where it displays Username from Source, Status Text Username works perfectly, but source only displays when a user updates from the web, if they updated from a different application, all it displays is
[twitter-dev] Re: Getting Source Parameter in Java from XML returns
Thank you Doug. That is where I was wrong. Is there anyway to excuse the HTML and just get the Application Name? On Apr 16, 12:01 pm, Doug Williams d...@twitter.com wrote: Source parameters that come from outside apps are encoded HTML. Are you accounting for this Travis? See the source heading on the Return Values page [1] 1.http://apiwiki.twitter.com/Return-Values Doug Williams Twitter API Supporthttp://twitter.com/dougw On Thu, Apr 16, 2009 at 9:47 AM, Chad Etzel jazzyc...@gmail.com wrote: On Thu, Apr 16, 2009 at 12:35 PM, Doug Williams d...@twitter.com wrote: What is the source parameter you are passing with your application? I don't think that's what he's asking. I think he's having trouble parsing the source info of tweets coming from *other* apps. I looked through the Java and didn't really see where it is doing the parsing so I must be missing it. I'm assuming it is looking at XML version of the data? Is this for REST or Search API? -Chad Doug Williams Twitter API Support http://twitter.com/dougw On Thu, Apr 16, 2009 at 7:34 AM, Travis James deadscene...@hyperhack.com wrote: package jtwitter; import java.net.MalformedURLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class TwitterEntry { // Twitter Entry Nodes (each corresponds to a XML node with the same name) public static final String CREATED_AT = created_at; public static final String ID = id; public static final String TEXT = text; public static final String SOURCE = source; private Date createdAt; private int id; private String text; private String source; private TwitterUser user; //This is currently the date format used by twitter public static final String TWITTER_DATE_FORMAT = EEE MMM dd kk:mm:ss Z ; public TwitterEntry(Date createdAt, int id, String text, String source, TwitterUser user) { super(); this.createdAt = createdAt; this.id = id; this.text = text; this.source = source; this.user = user; } public TwitterEntry() { this.user = new TwitterUser(); } public Date getCreatedAt() { return createdAt; } public void setCreatedAt(Date createdAt) { this.createdAt = createdAt; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getSource() { return source; } public void setSource(String source) { this.source = source; } public TwitterUser getUser() { return user; } public void setUser(TwitterUser user) { this.user = user; } �...@override public int hashCode() { final int PRIME = 31; int result = 1; result = PRIME * result + id; return result; } �...@override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; final TwitterEntry other = (TwitterEntry) obj; if (id != other.id) return false; return true; } public void addAttribute(String key, String value) throws ParseException, MalformedURLException { if(key.equals(CREATED_AT)) this.setCreatedAt(makeDate(value)); else if(key.equals(ID)) this.setId(Integer.parseInt(value)); else if (key.equals(TEXT)) this.setText(value); else if (key.equals(SOURCE)) this.setSource(value); else if (key.equals(TwitterUser.NAME)) this.getUser().setName(value); else if (key.equals(TwitterUser.SCREEN_NAME)) this.getUser().setScreenName(value); else if (key.equals
[twitter-dev] Re: Getting Source Parameter in Java from XML returns
); } } } else { String value =, name = nd.item(i).getNodeName(); if(nd.item(i).hasChildNodes()) value = nd.item(i).getFirstChild().getNodeValue(); entry.addAttribute(name, value); } } } return entry; } } On Apr 16, 5:10 pm, Abraham Williams 4bra...@gmail.com wrote: http://code.google.com/p/twitter-api/issues/detail?id=75 On Thu, Apr 16, 2009 at 16:54, Chad Etzel jazzyc...@gmail.com wrote: On Thu, Apr 16, 2009 at 5:11 PM, Travis James deadscene...@hyperhack.com wrote: Thank you Doug. That is where I was wrong. Is there anyway to excuse the HTML and just get the Application Name? I believe they've stated that will happen in API v2. Right now you just have to parse through the HTML to grok out the app name. -Chad On Apr 16, 12:01 pm, Doug Williams d...@twitter.com wrote: Source parameters that come from outside apps are encoded HTML. Are you accounting for this Travis? See the source heading on the Return Values page [1] 1.http://apiwiki.twitter.com/Return-Values Doug Williams Twitter API Supporthttp://twitter.com/dougw On Thu, Apr 16, 2009 at 9:47 AM, Chad Etzel jazzyc...@gmail.com wrote: On Thu, Apr 16, 2009 at 12:35 PM, Doug Williams d...@twitter.com wrote: What is the source parameter you are passing with your application? I don't think that's what he's asking. I think he's having trouble parsing the source info of tweets coming from *other* apps. I looked through the Java and didn't really see where it is doing the parsing so I must be missing it. I'm assuming it is looking at XML version of the data? Is this for REST or Search API? -Chad Doug Williams Twitter API Support http://twitter.com/dougw On Thu, Apr 16, 2009 at 7:34 AM, Travis James deadscene...@hyperhack.com wrote: package jtwitter; import java.net.MalformedURLException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class TwitterEntry { // Twitter Entry Nodes (each corresponds to a XML node with the same name) public static final String CREATED_AT = created_at; public static final String ID = id; public static final String TEXT = text; public static final String SOURCE = source; private Date createdAt; private int id; private String text; private String source; private TwitterUser user; //This is currently the date format used by twitter public static final String TWITTER_DATE_FORMAT = EEE MMM dd kk:mm:ss Z ; public TwitterEntry(Date createdAt, int id, String text, String source, TwitterUser user) { super(); this.createdAt = createdAt; this.id = id; this.text = text; this.source = source; this.user = user; } public TwitterEntry() { this.user = new TwitterUser(); } public Date getCreatedAt() { return createdAt; } public void setCreatedAt(Date createdAt) { this.createdAt = createdAt; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getText() { return text; } public void setText(String text) { this.text = text; } public String getSource() { return source; } public void setSource(String source) { this.source = source; } public TwitterUser getUser() { return user; } public void setUser(TwitterUser user) { this.user = user; } �...@override public int hashCode() { final int PRIME = 31; int result = 1; result = PRIME * result + id; return result; } �...@override public boolean equals(Object obj) { if (this == obj
[twitter-dev] Re: [twitter-api-announce] A note on our API change policy
Another point. If you are fundamentally agile, you should have stories and iterations. What if you posted current breaking change stories at the start of the iteration before you started them. Assuming a 1 or 2 week iteration, we get time to comment, and you won't have to hold code back. JD On Sat, Apr 11, 2009 at 1:19 PM, Abraham Williams 4bra...@gmail.com wrote: If versioning is used how long should versions be supported? A week? A month? Lets just say a month for now. If Twitter pushes out changes every 2 days it is possible that there would be 15 versions running at any given time. This is an extreme example but something to think about. On Sat, Apr 11, 2009 at 13:56, Alex Payne a...@twitter.com wrote: Right now, every new machine we get goes immediately into production. Once we have enough machines that we can get ahead of that capacity planning, I think a beta.api.twitter.com is a great idea. And/or versioning. On Sat, Apr 11, 2009 at 11:00, Yu-Shan Fung ambivale...@gmail.com wrote: I second Jesse's suggestion. Having a staging server to test out API changes would help smooth out transitions (though people needs to be careful about what change they make as presumably this will run against prod database). That way your internal developers can directly push code ready for release immediately to staging instead of waiting 5 days. It'll probably also help sanity internally at Twitter. Who knows, with developers hitting the staging API before it goes out, we might even help catch a bug or two once in a while before it goes out :-) Yu-Shan On Sat, Apr 11, 2009 at 2:21 AM, Jesse Stay jesses...@gmail.com wrote: Doug, can you guys do what Facebook is doing, and release it on a beta server somewhere beforehand so we can test it on our apps before you actually release it to the public? A public staging server of some sort. That will keep these surprises from happening, and we can start working out alerts to have in place when things might break our code that go on that beta server. Best of all, it won't ever affect the end user. Keep the releases on that server, then the releases out to the public on a timed release schedule. It might take a little longer to get out to the public, but you'll have a much happier developer base and in turn a much happier end user by doing so. That would be my number one suggestion. Do you guys do any tracking of Twitter itself for developers complaining about the API? I would also think you could gain some insight from that as well. @Jesse On Fri, Apr 10, 2009 at 12:04 PM, Doug Williams d...@twitter.com wrote: Twitter's development model is pragmatically agile where features enter the code base right alongside bug fixes. You can see this in our changelog [1]. What is not clear from the log is that most of the code is written just days before. April 8th's rapid deprecation of the since parameter/If-Modified-Since header (and to a lesser extent, the removal of undocumented HTTP POST access to accounts/verify_credentials) [5] caught a number of developers off guard. The criticism of this hasty change on the impact to hackers and businesses alike was both valid and appropriate. The results from last month's survey [6] lead us to believe that the use of this parameter was minimal and that it was safe to capture performance gains through the deprecation. In hindsight, our sample size was statistically insignificant because we made a mistake. It is apparent we need to make a change towards transparency. Openness demands we give developers a clear line of communication when changes are made that will break current functionality. While these changes are rare, they do happen. As a result of this week's conversation, we will give a minimum of 5 business days notice before we ship code that removes currently documented functionality. Two notable exceptions are critical security and performance fixes. Five days may seem short notice but it is a compromise from our standard. There are two major concerns we must consider when shelving code that is ready for deploy: 1) We do not write unnecessary code. Code only exists in the deploy pipeline for a feature or defect fix that is ready to go out the door. We view deployable code as an asset that should be handling requests as quickly as possible. 2) Un-merged code adds complexity. The Twitter code base is constantly moving. Deploying code requires merging with the master branch which grows in complexity as an undeployed branch sits idle. We currently use the changelog [1], @twitterapi [2], The API Announce List [3], and the Dev Group [4] to inform developers of changes in hopes that features will get used, and deprecations will be honored. I'd suggest any developer with a long-running application to subscribe to the low noise, only signal, API
[twitter-dev] Re: VB.net auh failure [403]
Almost. request.PreAuthenticate still sends a double request the first time. Behind corporate firewalls (where multiple clients may be getting aggregated to one IP address), you can still hit the unauth'ed rate limit. I'll try tomorrow at work (where I can usually repro the above situation) and report back. JD On Tue, Apr 7, 2009 at 11:29 AM, Dimebrain daniel.cre...@gmail.com wrote: Isn't request.PreAuthenticate = true functionally equivalent to adding the credentials manually to avoid the double calls? On Apr 5, 1:21 am, James Deville james.devi...@gmail.com wrote: Look at what requests you are sending with Netmon or Wireshark. With Witty (C# wpf app), we discovered that first an unauthenticated request is sent to find out what auth the server takes, then a authenticated request after that. This doesn't work on some of the API requests. The solution is to manually attach the BasicAuth header. JD On Sat, Apr 4, 2009 at 11:38 AM, DIENECES bowling.j...@gmail.com wrote: Any idea why I'm forbidden? Thanks in advance! Function writeMessage(ByVal StrPass, ByVal StrUser, ByVal StrMessage, ByVal StrTo) As String Dim req As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(http://twitter.com/direct_messages/ new.xml?user= http://twitter.com/direct_messages/%0Anew.xml?user= + StrTo + text= + StrMessage) If Not StrUser = Or StrPass = Then req.Credentials = New System.Net.NetworkCredential (StrUser, StrPass) req.Method = POST 'req.ContentLength = 0 'req.ServicePoint.Expect100Continue = False req.ContentType = application/x-www-form-urlencoded 'req.PreAuthenticate = True Dim resp As HttpWebResponse = req.GetResponse() Dim sr As New System.IO.StreamReader(resp.GetResponseStream ()) 'sr.Read(req.GetResponse(), ) Return sr.ReadToEnd() End If End Function
[twitter-dev] Re: VB.net auh failure [403]
Look at what requests you are sending with Netmon or Wireshark. With Witty (C# wpf app), we discovered that first an unauthenticated request is sent to find out what auth the server takes, then a authenticated request after that. This doesn't work on some of the API requests. The solution is to manually attach the BasicAuth header. JD On Sat, Apr 4, 2009 at 11:38 AM, DIENECES bowling.j...@gmail.com wrote: Any idea why I'm forbidden? Thanks in advance! Function writeMessage(ByVal StrPass, ByVal StrUser, ByVal StrMessage, ByVal StrTo) As String Dim req As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(http://twitter.com/direct_messages/ new.xml?user= http://twitter.com/direct_messages/%0Anew.xml?user= + StrTo + text= + StrMessage) If Not StrUser = Or StrPass = Then req.Credentials = New System.Net.NetworkCredential (StrUser, StrPass) req.Method = POST 'req.ContentLength = 0 'req.ServicePoint.Expect100Continue = False req.ContentType = application/x-www-form-urlencoded 'req.PreAuthenticate = True Dim resp As HttpWebResponse = req.GetResponse() Dim sr As New System.IO.StreamReader(resp.GetResponseStream ()) 'sr.Read(req.GetResponse(), ) Return sr.ReadToEnd() End If End Function
Re: How API will works after OAuth?
Flickr doesn't seem to have a problem with the OAuth formula, so why are people thinking twitter will? In addition, part of the concern I would have with Basic Auth is the plaintext password. Sure, it's Base64 encoded, but that's not encryption, that's just saving bandwidth. If twitter wanted to move to a different auth scheme, that might work. Or they could add ssl to the API front end, and use HTTPS, which is also expensive (either expensive SSL-offloading proxies, or you have to lock a session to a server). I don't think Twitter should keep a Basic Auth service. It just wouldn't be worth the risk to me. JD On Thu, Feb 5, 2009 at 12:02 PM, jstrellner jstrell...@urltrends.comwrote: Stuart , In my first reply to this subject, I indicated that it could be a paid model for them, and I still think it could. Either way, I see them needing to use a key of some sort for desktop applications. Twitter would still need to be involved though, if you want to prevent sharing of said key and you want the user to be able to revoke it. -Joel On Feb 5, 11:48 am, Stuart stut...@gmail.com wrote: 2009/2/5 jstrellner jstrell...@urltrends.com: I am not suggesting that they endorse the application, but that they have a process that is available to desktop apps that lets them keep using Basic Auth. Once twitter has OK'd the app, then that app can display a badge of some sort letting its users know that they have an agreement directly with Twitter that makes it OK to enter your username/password. I would think that part of the process of approval would include a contract of some sort that specifies exactly what the app can do with that data. For a free service? Not very likely. It would be prohibitively expensive for Twitter to implement something where they underwrite a trust relationship between users and application developers. If application developers had to pay for it then maybe there is scope for that to be put in place, but doing so would exclude the vast majority of devs working with the API. Personally I'd vote for users being able to manually request a token which they then provide to the application. That effectively bypasses the OAuth authorisation mechanism while still providing many of the same benefits. Each key would need to be tied to the application in some way so it couldn't be shared, but I'm sure there's a solution in there somewhere. -Stuart On Feb 5, 8:48 am, Stuart stut...@gmail.com wrote: 2009/2/5 jstrellner jstrell...@urltrends.com: I was just thinking this, and then I read your post. It would be good to see a trusted apps section somewhere on your site, and those application could use Basic Auth. If they don't want to go through the process of being a trusted app, then they can use OAuth. Just something to think about. Could earn twitter some $$$ too. Could also land them in a world of pain. I wouldn't want Twitter to endorse any product that wasn't theirs, and I doubt they would want to either. Too risky. -Stuart On Feb 4, 8:57 pm, Alex Payne a...@twitter.com wrote: Thanks for the feedback, guys. We'll consider extending Basic Auth's life, or maybe granting a stay of execution to known-good apps. At the very least, we'll try not to pull the rug out from under anyone. funkatron wrote: Agreed. I do believe that the use of HTTP Basic Auth was key to the quick growth of the 3rd-party app community of Twitter, as the auth scheme is so well-understood and supported. This may or may not be as important at this point business-wise, as I suspect the Twitter userbase is large enough to overcome a fair bit of lazy user intertia. I wonder if we will see a lot less interesting API hacking (the good kind), though, and I think that would be a shame. While OAuth makes a ton of sense for website-based apps, it's kind of another kettle of fish for locally-hosted apps (desktop and mobile). Moving to OAuth-only is problematic for us for these reasons: 1. it complicates (and confuses) the process for users: instead of entering a username and password -- a well-understood, common process -- now the app has to push the user to a web site which hopefully explains what's going on decently. This works okay for web dorks like us, but I guarantee your avg user is going to find this confusing. Maybe not as confusing as OpenID, though. 2. updating locally-hosted apps to use a new authentication system is an issue of getting thousands (or higher orders) of users to upgrade. 6 months may not be enough, even for currently active applications. Stuff in development *cough*like mine*cough* now could find themselves having to toss out a ton of code they're knee-deep in right now. Yucky. My preference would be to *not* see HTTP Basic
Re: How API will works after OAuth?
On Thu, Feb 5, 2009 at 7:52 PM, funkatron funkat...@gmail.com wrote: On Feb 5, 10:38 pm, James Deville james.devi...@gmail.com wrote: Flickr doesn't seem to have a problem with the OAuth formula, so why are people thinking twitter will? I'm not sure people have said Twitter would have a problem. I've personally expressed some problems specific to applications I develop. Much of what I said would apply to desktop apps for Flickr too, but Flickr has never offered anything but OAuth (AFAIK). I thought I had read that concern earlier in the thread. In addition, part of the concern I would have with Basic Auth is the plaintext password. Sure, it's Base64 encoded, but that's not encryption, that's just saving bandwidth. If twitter wanted to move to a different auth scheme, that might work. Or they could add ssl to the API front end, and use HTTPS, which is also expensive (either expensive SSL-offloading proxies, or you have to lock a session to a server). I don't think Twitter should keep a Basic Auth service. It just wouldn't be worth the risk to me. SSL has been available in the API for as long as I recall, and is in fact officially recommended, AFAIK. Didn't realize that... (Off to the editor...) -- Ed Finkler http://funkatron.com AIM: funka7ron ICQ: 3922133 Skype: funka7ron
Re: New API methods to retrieve social graph without pagination
Any chance of a easy way to map this to usernames? We want the friends list for Witty (and I imagine others), but we don't need full profiles, just this + username. This won't help us otherwise since we'll need to map the entire list to usernames, which will require too many requests. JD On Wed, Feb 4, 2009 at 4:31 PM, Alex Payne a...@twitter.com wrote: The response should be ordered with most recent followed/followers first in the list. Another developer noted duplicates; we'll look into that. Matt K. wrote: Alex - This is a great addition to the API - will make things much easier. Quick question (and I apologize if this is already documented): do the followers / friends always come in descending order of when they friendship/follow was created? In other words will the most recent follow/friend always be first? I know the original followers call was ordered in the order in which the follower joined twitter. Hoping this isn't set up the same way - it would be nice to basically stop iterating over the list once a repeat friend/follower is found. Thanks for the clarification, Matt On Feb 3, 5:01 pm, Alex Paynea...@twitter.com wrote: Happy to announce two new API methods today, delivered in response to developer demand for an easier way to keep tabs on users' social graphs. The methods, /friends/ids and /followers/ids, return the entire list of numeric user IDs for a user's set of followed and following users, respectively. Responses to these methods are cached until the user's social graph changes. The responses come direct from our denormalized list data stores, and should be reasonably fast even for users with a large number of followers/follows. These new methods are most useful for services that are maintaining a cache of user details. If you see a user ID that you don't have cached, you'll have to call /users/show to retrieve that user's details. But for services with large user bases, or those that simply want to diff a user's social graph over time, we hope these methods will come in handy. You can find the documentation athttp:// apiwiki.twitter.com/REST-API-Documentation#SocialGraphMethods. -- Alex Payne - API Lead, Twitter, Inc.http://twitter.com/al3x -- Alex Payne - API Lead, Twitter, Inc. http://twitter.com/al3x
Re: securing a deleted username?
Just thought I'd update this thread in case other developers are looking to get deleted usernames released for their apps too. Twitter got around to answering my support request however they are not going to release the deleted username to me, and state: Due to high ticket volume, Twitter Support is no longer releasing inactive user names unless in cases of trademark or copyright violation. We are working on releasing all inactive user names in the future, however, we will no longer manually release them on an individual basis. It's a shame, as the username was perfect for an application I'm developing, however I've had to register something else instead now which isn't as sexy, but it'll do. I guess if/when Twitter release all inactive userames at some point, I might have another chance.
Re: Read My Tweets launch imminent -- last minute advice?
Ah possibly. I think that people kinda know what a banner or link exchange is. Maybe you could re-phrase it to 'tweet exchange' or something? i.e. put it into some context of your platform being a Twitter app, etc. On Jan 17, 11:35 pm, Amir Michail amich...@gmail.com wrote: On Sat, Jan 17, 2009 at 12:28 PM, James Chivers jchiv...@gmail.com wrote: Hey Amir, As Joe Random internet user, it's not overly clear what your app does or how it works (plus any benefits it'll give me as a user) - maybe worth dropping some intro blurbage on the frontpage? Is everyone familiar with a banner exchange? Maybe I can use that as a starting point for an explanation? Amir I just launched a very basic app but spent some time working out an intro that I hope explains the service, however I appreciate that your app is a little more complex than my bot :) Good luck with the launch! James http://yarimashita.com On Jan 17, 7:58 pm, Christian Heilmann chris.heilm...@gmail.com wrote: Amir Michail wrote: Hi, I will probably launch Read My Tweets on Monday. Anything I should improve before then? http://www.readmytweets.com Amir Make the signup process much bigger. 1) Follow readmytweets to get your password ... --http://readmytweets.comhttp://chatbotgame.comhttp://numbrosia.comhttp://twitter.com/amichail
Re: securing a deleted username?
Ha! Thanks, that seemed to work :) I'm so used to substituting 'username' for my own username, or the username in question pertaining to whatever current context that I assumed I had to email the username I was after and not, literally as Stuart says, 'username'. Cheers! On Jan 18, 1:47 am, Stuart stut...@gmail.com wrote: 2009/1/17 James Chivers jchiv...@gmail.com: Thank you both for your uber rapid responses; much appreciated. I've dropped an email to the usernameiwouldl...@twitter.com but unfortunately I got a 550 back. It looks like twitter.com is using Google apps for their email, and so they might not have set up a catchall mechanism to process invalid email addresses. Maybe in the past they were using a different mta and thus had a different setup (to support such emails), but it doesn't look like it now. You need to email usern...@twitter.com literally, not usernameyouwouldl...@. -Stuart --http://stut.net/
Re: Read My Tweets launch imminent -- last minute advice?
Hey Amir, As Joe Random internet user, it's not overly clear what your app does or how it works (plus any benefits it'll give me as a user) - maybe worth dropping some intro blurbage on the frontpage? I just launched a very basic app but spent some time working out an intro that I hope explains the service, however I appreciate that your app is a little more complex than my bot :) Good luck with the launch! James http://yarimashita.com On Jan 17, 7:58 pm, Christian Heilmann chris.heilm...@gmail.com wrote: Amir Michail wrote: Hi, I will probably launch Read My Tweets on Monday. Anything I should improve before then? http://www.readmytweets.com Amir Make the signup process much bigger. 1) Follow readmytweets to get your password ...
Re: securing a deleted username?
Thank you both for your uber rapid responses; much appreciated. I've dropped an email to the usernameiwouldl...@twitter.com but unfortunately I got a 550 back. It looks like twitter.com is using Google apps for their email, and so they might not have set up a catchall mechanism to process invalid email addresses. Maybe in the past they were using a different mta and thus had a different setup (to support such emails), but it doesn't look like it now. Thanks again, James
Changing profile image via PHP/Curl
I'm trying to develop a web site form that allows you to choose a profile picture, enter your usernamepassword, and then it will change your profile pic to the selected one. I haven't implemented the choosing of the picture yet, as I'm still trying to get one picture to go through. I keep getting the error There was a problem with your picture. Probably too big. Here's the code I have so far- htmlheadtitleTitle/title ?php $username = $_POST[username]; $password = $_POST[password]; $image = $_POST[image]; if (!isset($_POST['submit'])) { // if page is not submitted to itself echo the form } else { // The twitter API address $url = 'http://twitter.com/account/update_profile_image.xml'; $curl_handle = curl_init(); curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array('Expect:')); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_FILE, ima...@$image;type=image/ jpg); curl_setopt($curl_handle, CURLOPT_USERPWD, $username:$password); $buffer = curl_exec($curl_handle); curl_close($curl_handle); echo $buffer; echo $image; } ? /head body form method=post action=?php echo $PHP_SELF;? Username:input type=text size=12 maxlength=12 name=usernamebr / Password:input type=password size=12 maxlength=36 name=passwordbr / input type=hidden value=http://up.jamesnweber.com/Whe.jpg; name=image input type=submit value=submit name=submitbr / /formbr / Any ideas? Thanks!
Re: Changing profile image via PHP/Curl
Here is my curlopt's- curl_setopt($curl_handle, CURLOPT_URL, $url); curl_setopt($curl_handle, CURLOPT_POST, 1); curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array('Expect:')); curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2); curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array('image' = '@'. $image)); curl_setopt($curl_handle, CURLOPT_USERPWD, $username:$password); Twitter isn't returning anything at all now. The $buffer variable from $buffer = curl_exec($curl_handle); is coming back empty. Thanks for your help! On Jan 6, 1:15 pm, Stuart stut...@gmail.com wrote: 2009/1/6 James N. Weber jame...@gmail.com: Thanks for the help, Chad. I think I need the PHP equivalent of -F in curl- I'm not sure how to set that. I tried changing it to CURLOPT_POSTFIELDS, and Twitter gave me a Something is technically wrong. page- the robot lobster with a broken claw. Any ideas? The code I took the below line from is not uploading an image to Twitter, but rather between two internal servers on one of the sites I maintain and it works fine for me... curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: ')); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array('img' = '@'.$filename)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); Hope it helps you. -Stuart --http://stut.net/
Re: Changing profile image via PHP/Curl
Chad- Thanks for all your help with this! I downloaded it from pastebin, and then uploaded it to my server, no changes. It is giving me the There was a problem with your picture. Probably too big. error still, with several photos. Any ideas what's going on? On Jan 6, 1:31 pm, Chad Etzel jazzyc...@gmail.com wrote: So after some fiddling with your code, I got it to work: I think part of the problem was that you can't use URLs to the image (like you were doing). Anyway, the following code (see pastebin link) gives examples of how to do it with File Uploading through a form, or just using canned local images from your server. http://pastebin.com/f6eb4650c Hope this helps, -Chad On Tue, Jan 6, 2009 at 3:15 PM, Stuart stut...@gmail.com wrote: 2009/1/6 James N. Weber jame...@gmail.com: Thanks for the help, Chad. I think I need the PHP equivalent of -F in curl- I'm not sure how to set that. I tried changing it to CURLOPT_POSTFIELDS, and Twitter gave me a Something is technically wrong. page- the robot lobster with a broken claw. Any ideas? The code I took the below line from is not uploading an image to Twitter, but rather between two internal servers on one of the sites I maintain and it works fine for me... curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect: ')); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, array('img' = '@'.$filename)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($ch); Hope it helps you. -Stuart -- http://stut.net/