[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] follwers ids and friends ids
I am having problems with the followers ids and friends ids calls. reprosites has 6318 friends and 5960 followers. If I do a regular call with no paging I get the proper results. But if I page some wierd stuff happens. http://twitter.com/friends/ids/reprosites.xml?page=1 returns 5000 results like expected. http://twitter.com/friends/ids/reprosites.xml?page=2 returns nothing when it should at least have some results. http://twitter.com/followers/ids/reprosites.xml?page=1 returns 5000 results like expected. http://twitter.com/followers/ids/reprosites.xml?page=2 returns nothing when it should at least have some results. Could someone please let me know what I am doing wrong? Dan
[twitter-dev] Twitter4J getAuthorizationURL versus Authentication?
The Twitter4J code I've gotten to work forces the user to click “Allow” on the Twitter authorization page (An application would like to connect to your account), every time the code is run. Any ideas on how the flow can be changed so that anytime a user goes through the Authentication Process, if the user has already authorized the APP the user is not required to visit Twitter again and click “Allow” every time but is simply sent back to my web app? My Code: cfset Twitter = createObject(java, twitter4j.Twitter) cfset Twitter.setOAuthConsumer('XXX','XX') cfparam name=URL.oauth_token type=string default= cfif URL.oauth_token EQ STEP1 cfset RequestToken = Twitter.getOAuthRequestToken() cfset Session.oAuthRequestToken = RequestToken.getToken() cfset Session.oAuthRequestTokenSecret = RequestToken.getTokenSecret() cflocation url=#RequestToken.getAuthorizationURL()# addtoken=No !--- At this point, the user is on TwitterÕs site and have the opportunity to Allow or Deny access. --- !--- Twitter will now send back to HERE when the USER autorhizes you --- cfelseSTEP2BR !--- After Allowing access, the user is transferred back to your site and you exchange the Request Tokens for Access Tokens: --- cfset AccessToken = Twitter.getOAuthAccessToken (Session.oAuthRequestToken,Session.oAuthRequestTokenSecret) !--- Store the Access Tokens, via: AccessToken.getToken() and AccessToken.getTokenSecret() --- cfoutput AccessToken:#AccessToken# AccessToken.getToken(): #AccessToken.getToken()#br Session.oAuthRequestTokenSecret: #Session.oAuthRequestTokenSecret# /cfoutput !--- Test Twitter API access --- !--- cfset Twitter.setOAuthAccessToken (StoredAccessToken,StoredAccessSecret) --- cfset Twitter.setOAuthAccessToken (#AccessToken.getToken()#,#AccessToken.getTokenSecret()#) cfset Twitter.updateStatus(Testing 1.2.3.4..) /cfif
[twitter-dev] Re: follwers ids and friends ids
I'm pretty sure this is a verified bug with the number of followers not being exact but I can't seem to find the reference anywhere... -Bob On Sun, Aug 2, 2009 at 11:11 PM, Dan Kurszewskidan.kurszew...@gmail.com wrote: I am having problems with the followers ids and friends ids calls. reprosites has 6318 friends and 5960 followers. If I do a regular call with no paging I get the proper results. But if I page some wierd stuff happens. http://twitter.com/friends/ids/reprosites.xml?page=1 returns 5000 results like expected. http://twitter.com/friends/ids/reprosites.xml?page=2 returns nothing when it should at least have some results. http://twitter.com/followers/ids/reprosites.xml?page=1 returns 5000 results like expected. http://twitter.com/followers/ids/reprosites.xml?page=2 returns nothing when it should at least have some results. Could someone please let me know what I am doing wrong? Dan
[twitter-dev] OAuth Suggestions
I am looking into adding OAuth authentication to twitcher (http:// coderanger.com/twitcher), my twitter client, and have a couple of suggestions: 1. The authorisation page at twitter.com, isnt particularly clear as to the account being authorised. This could be an issue with users authorising multiple accounts from an app. Can I suggest it is split into paragraphs and the account name is added to the heading, like: ~~~ An application would like to connect to your 'accountname' account. The application twitcher by Coderanger.com would like the ability to access and update your data on Twitter. This application plans to use Twitter for logging you in in the future. Sign out if you want to connect to an account other than accountname. ~~~ 2. It would be useful if you could pass the username up to the authorisation page along with the authorisation token. Then at your side, if the username is different to the one currently signed in, you can auto sign out and place the new username passed into the username text input ready for signing in by the user. I think this will improve workflow for the customer where multiple-accounts are involved, but also when upgrading a system that has been using BasicAuth, and avoid potential confusion and mistakes. I dont think there can be any security implications for doing this so it would be a possible change should you so desire. Thanks
[twitter-dev] Re: Twitter4J getAuthorizationURL versus Authentication?
Not knowing anything about Twitter4J, but I believe normally once authorised you would have to persist/save the following values for re- use on signing any future requests. * access pin * access token * access token secret * consumer key * consumer secret The authorisation process only needs to be done once, to obtain these values, so perhaps you can set the values into the class and call a different method to sign any future requests.
[twitter-dev] Re: OAuth Suggestions
1. I think the current text makes it clear which account is being used. 2. Not sure I like the idea of auto sign out. Maybe instead if the username is provided as an additional parameter twitter will display the login prompt with the username provided. The the user just enters their password and authorizes the app. This way the browser cookie for the currently active session is not affected and will remain active. A suggestion I might make is not asking for the user's twitter username before authorization. Instead have the user go to twitter and authorize which account they want. Then when they return back and you get the access token then detect which username is being used if you need it. You could even double check with the user that this is the account they want. On Mon, Aug 3, 2009 at 1:55 AM, Coderanger d...@coderanger.com wrote: I am looking into adding OAuth authentication to twitcher (http:// coderanger.com/twitcher), my twitter client, and have a couple of suggestions: 1. The authorisation page at twitter.com, isnt particularly clear as to the account being authorised. This could be an issue with users authorising multiple accounts from an app. Can I suggest it is split into paragraphs and the account name is added to the heading, like: ~~~ An application would like to connect to your 'accountname' account. The application twitcher by Coderanger.com would like the ability to access and update your data on Twitter. This application plans to use Twitter for logging you in in the future. Sign out if you want to connect to an account other than accountname. ~~~ 2. It would be useful if you could pass the username up to the authorisation page along with the authorisation token. Then at your side, if the username is different to the one currently signed in, you can auto sign out and place the new username passed into the username text input ready for signing in by the user. I think this will improve workflow for the customer where multiple-accounts are involved, but also when upgrading a system that has been using BasicAuth, and avoid potential confusion and mistakes. I dont think there can be any security implications for doing this so it would be a possible change should you so desire. Thanks -- Josh
[twitter-dev] Re: OAuth Suggestions
1. I think the current text makes it clear which account is being used. I do beg to differ, I have made the mistake of authorising the wrong account during the testing. If the account was in the heading and/or an extra paragraph was used in the text to split it up .. they are separate paragraphs gramatically anyway then this can be alleviated ... for the case of two tiny changes I dont think its worth not doing as no harm can be done. 2. Not sure I like the idea of auto sign out. Maybe instead if the username is provided as an additional parameter twitter will display the login prompt with the username provided. The the user just enters their password and authorizes the app. This way the browser cookie for the currently active session is not affected and will remain active. Sounds fine to me A suggestion I might make is not asking for the user's twitter username before authorization. Instead have the user go to twitter and authorize which account they want. Then when they return back and you get the access token then detect which username is being used if you need it. You could even double check with the user that this is the account they want. Yes, I will be doing that for new accounts, but I wish to upgrade existing accounts (its not a new app and there are lots of existing users) ... this could cause confusion if they authorise the wrong account which the app was expecting, but yes I was going to verify the authorisation using the returned user name but its a potential confusion that could be avoided; I just thought it might add an extra useful path on the workflow and help allow the app to control a little part of it.
[twitter-dev] Re: set the from [Application]
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] OAuth update return HTTP 401 issue
Hi everyone, I successfully went through OAuth procedure, and got access token using PIN, but I failed to update status,send direct message such authenticated post method. But my program works several days ago. Thank you for your help:) BR
[twitter-dev] Reading tweets using HTTP
Hi friend's I am developing tweet app for windows mobile using HTTP , i want tweet apis for following. 1) To Get tweets. 2) To post tweet to a single , multiple and all users. Awaiting for your reply
[twitter-dev] Re: set the from [Application]
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: OAuth update return HTTP 401 issue
Weijun, These threads (links below) will probably help. http://groups.google.com/group/twitter-development-talk/browse_thread/thread/59ed5372f7c1b623 http://groups.google.com/group/twitter-development-talk/browse_thread/thread/8a598fd042e53ce0/2629fe5160fc8294 If you encounter any problems, I just went through the same problem and successfully updated my Twitter OAuth library for C#/.NET. I'd definitely be down to help you out. Cheers, Nicholas --- Nicholas Granado email: ngran...@gmail.com web: http://nickgranado.com twitter: heatxsink On Mon, Aug 3, 2009 at 3:00 AM, weijun shen swj1984...@gmail.com wrote: Hi everyone, I successfully went through OAuth procedure, and got access token using PIN, but I failed to update status,send direct message such authenticated post method. But my program works several days ago. Thank you for your help:) BR
[twitter-dev] Re: Reading tweets using HTTP
To post tweet to single account, use this API http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses%C2%A0update To reply to many users, simply use @reply_to! You can not tweets to all users by @reply_to way because you have only 140 chars in each tweets! To tweet to all users, why you don't simply tweet a status! Everybody will see it! 1) To Get tweets. If you want to get public tweet, use this: http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-public_timeline If you want to get tweets by a specifu user, use this one: http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-user_timeline And if you want to get all tweets which replied to a specify user, this one for you http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-statuses-mentions But please carefully and rate limit and remeber to cache result when get tweets! 2009/8/3 santosh4283 sangewar.sant...@gmail.com Hi friend's I am developing tweet app for windows mobile using HTTP , i want tweet apis for following. 1) To Get tweets. 2) To post tweet to a single , multiple and all users. Awaiting for your reply
[twitter-dev] Re: OAuth Suggestions
This would be helpful for us, too. It's one of the biggest customer support issues I have now that we're using OAuth. Jesse On Mon, Aug 3, 2009 at 2:55 AM, Coderanger d...@coderanger.com wrote: I am looking into adding OAuth authentication to twitcher (http:// coderanger.com/twitcher), my twitter client, and have a couple of suggestions: 1. The authorisation page at twitter.com, isnt particularly clear as to the account being authorised. This could be an issue with users authorising multiple accounts from an app. Can I suggest it is split into paragraphs and the account name is added to the heading, like: ~~~ An application would like to connect to your 'accountname' account. The application twitcher by Coderanger.com would like the ability to access and update your data on Twitter. This application plans to use Twitter for logging you in in the future. Sign out if you want to connect to an account other than accountname. ~~~ 2. It would be useful if you could pass the username up to the authorisation page along with the authorisation token. Then at your side, if the username is different to the one currently signed in, you can auto sign out and place the new username passed into the username text input ready for signing in by the user. I think this will improve workflow for the customer where multiple-accounts are involved, but also when upgrading a system that has been using BasicAuth, and avoid potential confusion and mistakes. I dont think there can be any security implications for doing this so it would be a possible change should you so desire. Thanks
[twitter-dev] Re: set the from [Application]
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]
Here is the things i do ( success): 1.Apply whilelist 2.Using OAuth I guess you need apply whilelist first then use Oatuh and you can set FROM from API 2009/8/3 Duane Roelands duane.roela...@gmail.com 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]
You do not need to be whitelisted to use OAuth or to have a source parameter. In order to have custom source register an OAuth application here: https://twitter.com/oauth_clients/new. If you are properly signing the updates with OAuth and *not* with BasicAuth then the from will automatically be used. If or some reason it the source still shows as from API open a support issue: http://code.google.com/p/twitter-api/issues/entry or email a...@twitter.com Abraham On Mon, Aug 3, 2009 at 08:58, Vincent Nguyen kureik...@gmail.com wrote: Here is the things i do ( success): 1.Apply whilelist 2.Using OAuth I guess you need apply whilelist first then use Oatuh and you can set FROM from API 2009/8/3 Duane Roelands duane.roela...@gmail.com 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 -- Abraham Williams | Community Evangelist | http://web608.org Hacker | http://abrah.am | http://twitter.com/abraham Project | http://fireeagle.labs.poseurtech.com This email is: [ ] blogable [x] ask first [ ] private. Sent from Madison, Wisconsin, United States
[twitter-dev] ClickableNow Dev Partners
ClickableNow is a service that enables clickable Twitter backgrounds via a browser add-on. We launched the service last week and so far we've seen about 10,000 visitors to the website (http:// clickablenow.com). We're now looking to add an additional page to the website to list developers who have implemented the ClickableNow functionality. If your app displays (or can display) a user's Twitter background, you can use our code to enable the clickable links. It takes just a few lines of code to add ClickableNow to your app. You can see an example of the code on userscripts.org (http:// userscripts.org/scripts/show/53847 ). If you have the ability to perform a cross-domain call in your app, then you can drop the .jsonp extension and retrieve the json directly. http://s3.amazonaws.com/wmcp/{screen_name} Send an e-mail to supp...@clickablenow.com if you've implemented ClickableNow in your app and want to be listed on our site. You can send questions to the same address. Even if you can't add our functionality to your app, give ClickableNow a try and make your background clickable -- http://clickablenow.com.
[twitter-dev] Re: Problem with updating user's background with API
If you're using PHP/cUrl then specify the file as a normal post parameter prepended with an ampersand. Something along the lines of: curl_setopt($ch, CURLOPT_POSTFIELDS, array('image'='/path/to/file/on/ disk.png')); On Aug 1, 11:35 am, mikey mikexxx...@gmail.com wrote: Hello, I'm trying to allow users of my website to update their background using Basic Auth but for some reason it's not updating correctly. the API page says Note that this method expects raw multipart data, not a URL to an image. so what I did was use PHP cURL to post to the xml file the following // first i get the stats of the image $image_url = url to image; $headers = get_headers($image_url,1); $file_type = $headers['Content-Type']; $length = $headers['Content-Length']; // this is what is sent in the curl postfields $postvars = image=$image_url;filename=$filename;Content-Type: $file_type;content-length:$length; I'm not sure if I'm suppose to put the path from the current folder, or the path on the server.. I even tried the full URL but none worked. I'm pretty sure the problem is the image path because in the Response headers it has a 201 OK so Twitter didn't detect a problem. I've tried to search google and this group for help but I found nothing helpful. So I thought I could post a new topic. Any help is greatly appreciated. Thanks, Mikey
[twitter-dev] Re: set the from [Application]
On Mon, Aug 3, 2009 at 12:49 AM, Pekwushup...@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 I think this is what's called a F.A.Q. Q: How do I get from myApp to display on Twitter.com instead of from API? I set the source parameter but it has no effect. A: Register your application as an OAuth-base app and set the name there. Use of the source parameter as a means of identifying applications with Basic Auth has been deprecated for quite some time now. Q: I want to have a custom source parameter and use Basic Auth. Is this possible? A: No. -damon http://twitter.com/damon
[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 Suggestions
++ Likewise. Sign in with the account you intend to associate with our service just doesn't click. The process itself is already bewildering to a lot of people. --ab On Mon, Aug 3, 2009 at 9:11 AM, Jesse Stay jesses...@gmail.com wrote: This would be helpful for us, too. It's one of the biggest customer support issues I have now that we're using OAuth. Jesse On Mon, Aug 3, 2009 at 2:55 AM, Coderanger d...@coderanger.com wrote: I am looking into adding OAuth authentication to twitcher (http:// coderanger.com/twitcher), my twitter client, and have a couple of suggestions: 1. The authorisation page at twitter.com, isnt particularly clear as to the account being authorised. This could be an issue with users authorising multiple accounts from an app. Can I suggest it is split into paragraphs and the account name is added to the heading, like: ~~~ An application would like to connect to your 'accountname' account. The application twitcher by Coderanger.com would like the ability to access and update your data on Twitter. This application plans to use Twitter for logging you in in the future. Sign out if you want to connect to an account other than accountname. ~~~ 2. It would be useful if you could pass the username up to the authorisation page along with the authorisation token. Then at your side, if the username is different to the one currently signed in, you can auto sign out and place the new username passed into the username text input ready for signing in by the user. I think this will improve workflow for the customer where multiple-accounts are involved, but also when upgrading a system that has been using BasicAuth, and avoid potential confusion and mistakes. I dont think there can be any security implications for doing this so it would be a possible change should you so desire. Thanks
[twitter-dev] Re: Pagination limit for REST API(3200)
Hi there -- Check out #6 in the Things Every Developer Should Know article [1]. 1. https://apiwiki.twitter.com/Things-Every-Developer-Should-Know Thanks, Doug On Sun, Aug 2, 2009 at 11:27 AM, dp dharmesh.par...@gmail.com wrote: When the REST API limit for using count/page reaches 3200 for a particular user account, does it mean that that user account can never use count/page parameters any-more?? Does this limit reset?
[twitter-dev] Re: track syntax
I appreciate the reply Joel. I'll give it a try. I also tried just downloading from the stream api with the curl command line. However I kept getting 'malformed xml' errors. It was weird, each tweet would have the ?xml ... tag before it. That ring any bells with you? Same thing with JSON format but it was a different error, still malformed. All I'm doing is curl http://stream.twitter.com/spritzer.xml -uuser:pass ?xml version=1.0 encoding=UTF-8? is the exact line I get before every status. If I manually clean up the XML (or JSON) it works great. On Aug 2, 7:10 pm, Joel Strellner j...@twitturly.com wrote: Other than my username and password, this is an example that I know is working: ?php $count = 1; $startparsing = false; $keyword_needles[] = 'twitter'; $keyword_needles[] = 'keyword2'; $keyword_needles[] = 'keyword3'; $keyword_needles[] = 'keyword4'; // if your keywords have spaces, they must be urlencoded (twitter does not support phrases, only the first keyword will be used, the space character and after will be ignored) foreach ($keyword_needles AS $i=$needle) { $keyword_needles[$i] = urlencode($needle); } $poststr = 'track=' . implode(',', $keyword_needles); $fp = fsockopen(stream.twitter.com, 80, $errno, $errstr, 10); if (!$fp) { echo $errstr ($errno)\n; } else { $out = POST /track.json HTTP/1.1\r\n; $out .= Host: stream.twitter.com\r\n; $out .= User-Agent: YourUserAgent\r\n; $out .= Referer:http://yourdomain.com\r\n;; $out .= Content-Type: application/x-www-form-urlencoded\r\n; $out .= Authorization: Basic . base64_encode (username:password).\r\n; $out .= Content-length: . strlen($poststr) . \r\n; $out .= Connection: Close\r\n\r\n; $out .= $poststr . \r\n\r\n; fwrite($fp, $out); while (!feof($fp)) { $line = fgets($fp, 4096); if ($startparsing) { if (trim($line) != '') { echo trim($line) . \n; $tweet_obj = json_decode(trim($line)); // do your stuff here } } else { // view the header lines: uncomment the below line echo trim($line) . \n; $header_arr[] = $line; $headercount = count($header_arr)-1; if (trim($header_arr[$headercount]) == '') { $startparsing = true; $count = 1; unset($header_arr, $headercount); } } if (trim($line) != '') $count++; } fclose($fp);} ? The only changes I made was to echo things out and I added a keyword that I was sure would have volume - twitter. It did take a little bit of time to connect. I am assuming that that is because of their current load though, and not the script. On Aug 2, 2:25 am, Tom Fitzgerald ccexpe...@gmail.com wrote: Joel, For some reason when I try your code I get a timeout error. Any suggestions? What you have is exactly what I'm looking for. It could really help me out a jam, thanks! On Jul 27, 4:02 pm,JoelStrellner j...@twitturly.com wrote: Here is a working example of how to do /track: $count = 1; $startparsing = false; $keyword_needles[] = 'keyword1'; $keyword_needles[] = 'keyword2'; $keyword_needles[] = 'keyword3'; $keyword_needles[] = 'keyword4'; // if your keywords have spaces, they must be urlencoded (twitter does not support phrases, only the first keyword will be used, the space character and after will be ignored) foreach ($keyword_needles AS $i=$needle) { $keyword_needles[$i] = urlencode($needle); } $poststr = 'track=' . implode(',', $keyword_needles); $fp = fsockopen(stream.twitter.com, 80, $errno, $errstr, 30); if (!$fp) { echo $errstr ($errno)\n;} else { $out = POST /track.json HTTP/1.1\r\n; $out .= Host: stream.twitter.com\r\n; $out .= User-Agent: YourUserAgent\r\n; $out .= Referer:http://yourdomain.com\r\n;; $out .= Content-Type: application/x-www-form-urlencoded\r\n; $out .= Authorization: Basic . base64_encode(username:password).\r\n; $out .= Content-length: . strlen($poststr) . \r\n; $out .= Connection: Close\r\n\r\n; $out .= $poststr . \r\n\r\n; fwrite($fp, $out); while (!feof($fp)) { $line = fgets($fp, 4096); if ($startparsing) { if (trim($line) != '') { //echo trim($line) . \n; $tweet_obj = json_decode(trim($line)); // do your stuff here } } else { // view the header lines: uncomment the below line //echo trim($line) . \n; $header_arr[] = $line; $headercount = count($header_arr)-1; if (trim($header_arr[$headercount]) == '') { $startparsing = true; $count = 1;
[twitter-dev] Re: Updating the APIs authentication limiting policy
The rollback should be deployed tomorrow. Sorry for the delay. On Sat, Aug 1, 2009 at 23:36, Jesse Stayjesses...@gmail.com wrote: A timeframe would be very helpful. This is turning out to be a headache as I'm testing. If my own user is having to log in over and over to test my app, I'm quickly hitting the verify_credentials limit (and I'm even using OAuth). I'm getting really frustrated. Jesse On Fri, Jul 31, 2009 at 8:01 PM, Bob Thomson stormid...@googlemail.com wrote: Hi Doug, Is there a timescale for rolling back / making the change to the new scheme? We're just putting the finishing touches to moving to OAuth and we're experiencing the issue when using verify_credentials to get the users basic details once we've got the token back from the authentication process. We're experiencing the issue when: 1. Testing our login and authentication processes 2. When users login and logout of our application frequently A heads up on when these changes will be made would be useful. Thanks, Bob On Jul 29, 6:37 pm, Grant Emsley grant.ems...@gmail.com wrote: Locked out of authenticated resources for that account, or will that IP not be able to login to any account? On Jul 29, 1:14 pm, Doug Williams d...@twitter.com wrote: Ray,For clarity, we will roll back the current restriction of 15 calls per user per hour to account/verify_credentials, and implement the proposed scheme: ... we will limit the total number of unsuccessful attempts to access authenticated resources to 15 an hour per user per IP address. If a single IP address makes 15 attempts to access a protected resource unsuccessfully for a given user (as indicated by an HTTP 401), then the user will be locked out of authenticated resources from that IP address for 1 hour. Thanks, Doug On Wed, Jul 29, 2009 at 9:51 AM, Ray rvizz...@testlabs.com wrote: Doug, I'm in a similar situation as that voiced by TinBlue. This change has affected our iPhone App. We also want to encourage you to rollback this change ASAP. When you say This approach is what we are going to take., do you mean rolling back the fix so as not to affect multiple, successful, authorized logins? I'm hopeful that this approach means that our apps will not be affected yet again by changing to a new auth approach. I appreciate you all keeping this thread informed. Ray On Jul 27, 11:23 am, Doug Williams d...@twitter.com wrote: Thanks to everyone who has contributed feedback. This approach is what we are going to take. Alex will be making this change shortly. I will update this thread when there is timeframe to share. Thanks, Doug On Mon, Jul 27, 2009 at 7:52 AM, TinBlue tinb...@gmail.com wrote: What is happening? This rollback is taking far too long for something that has affected a lot of people! On Jul 25, 2:32 pm, Dewald Pretorius dpr...@gmail.com wrote: Doug, I would prefer to adopt OAuth instead of writing code for Basic Auth. So, you guys need to move OAuth out of public beta into full production sooner rather than later. :-) I manage 100,000+ Twitter accounts, and I simply cannot take on the support workload of answering user tickets when there's a snag with OAuth beta. I monitor these forums and the API Issues and still see too many OAuth issues being reported to give me a level of comfort that I can safely switch over to OAuth. On Jul 24, 5:46 pm, Doug Williams d...@twitter.com wrote: Well said Joshua. Dewald, you have identified the risk of using basic authentication. If your users being locked out due to malicious behavior, you should either implement further user-level rate limiting on your side or adopt OAuth. Are there any other glaring omissions in our thinking or should we proceed with this as our solution? Thanks, Doug On Fri, Jul 24, 2009 at 11:08 AM, Joshua Perryj...@6bit.com wrote: Jim's concern is valid, fortunately OAuth is immune to brute-force attacks once the access key has been issued to an application. For this reason alone I would urge people to switch to OAuth if at all possible. I would hope (and assume) that if login attempts for an account are locked out that a user would still be able to successfully use an already authorized OAuth driven application. Unfortunately allowing a successful un/pw login while an account is locked out even when the correct password is presented
[twitter-dev] Re: track syntax
Hi Tom, I am not sure about XML, since I use JSON - it has a much lower over-the-wire data size, and its easier to parse. Let me know if the code works for you. -Joel On Mon, Aug 3, 2009 at 10:55 AM, Tom Fitzgerald ccexpe...@gmail.com wrote: I appreciate the reply Joel. I'll give it a try. I also tried just downloading from the stream api with the curl command line. However I kept getting 'malformed xml' errors. It was weird, each tweet would have the ?xml ... tag before it. That ring any bells with you? Same thing with JSON format but it was a different error, still malformed. All I'm doing is curl http://stream.twitter.com/spritzer.xml -uuser:pass ?xml version=1.0 encoding=UTF-8? is the exact line I get before every status. If I manually clean up the XML (or JSON) it works great. On Aug 2, 7:10 pm, Joel Strellner j...@twitturly.com wrote: Other than my username and password, this is an example that I know is working: ?php $count = 1; $startparsing = false; $keyword_needles[] = 'twitter'; $keyword_needles[] = 'keyword2'; $keyword_needles[] = 'keyword3'; $keyword_needles[] = 'keyword4'; // if your keywords have spaces, they must be urlencoded (twitter does not support phrases, only the first keyword will be used, the space character and after will be ignored) foreach ($keyword_needles AS $i=$needle) { $keyword_needles[$i] = urlencode($needle); } $poststr = 'track=' . implode(',', $keyword_needles); $fp = fsockopen(stream.twitter.com, 80, $errno, $errstr, 10); if (!$fp) { echo $errstr ($errno)\n; } else { $out = POST /track.json HTTP/1.1\r\n; $out .= Host: stream.twitter.com\r\n; $out .= User-Agent: YourUserAgent\r\n; $out .= Referer:http://yourdomain.com\r\n;; $out .= Content-Type: application/x-www-form-urlencoded\r\n; $out .= Authorization: Basic . base64_encode (username:password).\r\n; $out .= Content-length: . strlen($poststr) . \r\n; $out .= Connection: Close\r\n\r\n; $out .= $poststr . \r\n\r\n; fwrite($fp, $out); while (!feof($fp)) { $line = fgets($fp, 4096); if ($startparsing) { if (trim($line) != '') { echo trim($line) . \n; $tweet_obj = json_decode(trim($line)); // do your stuff here } } else { // view the header lines: uncomment the below line echo trim($line) . \n; $header_arr[] = $line; $headercount = count($header_arr)-1; if (trim($header_arr[$headercount]) == '') { $startparsing = true; $count = 1; unset($header_arr, $headercount); } } if (trim($line) != '') $count++; } fclose($fp);} ? The only changes I made was to echo things out and I added a keyword that I was sure would have volume - twitter. It did take a little bit of time to connect. I am assuming that that is because of their current load though, and not the script. On Aug 2, 2:25 am, Tom Fitzgerald ccexpe...@gmail.com wrote: Joel, For some reason when I try your code I get a timeout error. Any suggestions? What you have is exactly what I'm looking for. It could really help me out a jam, thanks! On Jul 27, 4:02 pm,JoelStrellner j...@twitturly.com wrote: Here is a working example of how to do /track: $count = 1; $startparsing = false; $keyword_needles[] = 'keyword1'; $keyword_needles[] = 'keyword2'; $keyword_needles[] = 'keyword3'; $keyword_needles[] = 'keyword4'; // if your keywords have spaces, they must be urlencoded (twitter does not support phrases, only the first keyword will be used, the space character and after will be ignored) foreach ($keyword_needles AS $i=$needle) { $keyword_needles[$i] = urlencode($needle); } $poststr = 'track=' . implode(',', $keyword_needles); $fp = fsockopen(stream.twitter.com, 80, $errno, $errstr, 30); if (!$fp) { echo $errstr ($errno)\n;} else { $out = POST /track.json HTTP/1.1\r\n; $out .= Host: stream.twitter.com\r\n; $out .= User-Agent: YourUserAgent\r\n; $out .= Referer:http://yourdomain.com\r\n;; $out .= Content-Type: application/x-www-form-urlencoded\r\n; $out .= Authorization: Basic . base64_encode(username:password).\r\n; $out .= Content-length: . strlen($poststr) . \r\n; $out .= Connection: Close\r\n\r\n; $out .= $poststr . \r\n\r\n; fwrite($fp, $out); while (!feof($fp)) { $line = fgets($fp, 4096); if ($startparsing) { if (trim($line) != '') { //echo trim($line) . \n; $tweet_obj = json_decode(trim($line)); // do your
[twitter-dev] Re: Pagination limit for REST API(3200)
Hi Doug, I did read that but was not able to get the exact implications of it, thats why the question. So lets say i use count to get 3200 messages in history for a user, then can i use the count ever again (count 20), or i have reached the limit for that user permanently?? -dharmesh On Aug 3, 10:28 pm, Doug Williams d...@twitter.com wrote: Hi there -- Check out #6 in the Things Every Developer Should Know article [1]. 1.https://apiwiki.twitter.com/Things-Every-Developer-Should-Know Thanks, Doug On Sun, Aug 2, 2009 at 11:27 AM, dp dharmesh.par...@gmail.com wrote: When the REST API limit for using count/page reaches 3200 for a particular user account, does it mean that that user account can never use count/page parameters any-more?? Does this limit reset?
[twitter-dev] Re: Pagination limit for REST API(3200)
I believe it means you can not go back more than 3200 statuses. Example: user has posted 5000 statuses. you can only view statuses 3200+ via the api. Its not a limit that gets used up like the api rate limit. On Mon, Aug 3, 2009 at 1:39 PM, dp dharmesh.par...@gmail.com wrote: Hi Doug, I did read that but was not able to get the exact implications of it, thats why the question. So lets say i use count to get 3200 messages in history for a user, then can i use the count ever again (count 20), or i have reached the limit for that user permanently?? -dharmesh On Aug 3, 10:28 pm, Doug Williams d...@twitter.com wrote: Hi there -- Check out #6 in the Things Every Developer Should Know article [1]. 1.https://apiwiki.twitter.com/Things-Every-Developer-Should-Know Thanks, Doug On Sun, Aug 2, 2009 at 11:27 AM, dp dharmesh.par...@gmail.com wrote: When the REST API limit for using count/page reaches 3200 for a particular user account, does it mean that that user account can never use count/page parameters any-more?? Does this limit reset? -- Josh
[twitter-dev] Re: Pagination limit for REST API(3200)
Correction: 3200--1800 Sorry for that math error ;) On Mon, Aug 3, 2009 at 2:03 PM, Josh Roesslein jroessl...@gmail.com wrote: I believe it means you can not go back more than 3200 statuses. Example: user has posted 5000 statuses. you can only view statuses 3200+ via the api. Its not a limit that gets used up like the api rate limit. On Mon, Aug 3, 2009 at 1:39 PM, dp dharmesh.par...@gmail.com wrote: Hi Doug, I did read that but was not able to get the exact implications of it, thats why the question. So lets say i use count to get 3200 messages in history for a user, then can i use the count ever again (count 20), or i have reached the limit for that user permanently?? -dharmesh On Aug 3, 10:28 pm, Doug Williams d...@twitter.com wrote: Hi there -- Check out #6 in the Things Every Developer Should Know article [1]. 1.https://apiwiki.twitter.com/Things-Every-Developer-Should-Know Thanks, Doug On Sun, Aug 2, 2009 at 11:27 AM, dp dharmesh.par...@gmail.com wrote: When the REST API limit for using count/page reaches 3200 for a particular user account, does it mean that that user account can never use count/page parameters any-more?? Does this limit reset? -- Josh -- Josh
[twitter-dev] Re: Daylight savings
I'll try to be a bit specific, I need to know if a user is currently in daylight savings time. For instance my time zone is listed as London (this is where I live) GMT +0 however the UK is currently in British Summer Time (BST) which is GMT +1. The api will report that I'm in GMT +0 when I'm not. I ask this but I think I know the anwser, does the API have any knowledge of a user's actual time zone (inc DST) without the user having to change their TZ whenever their clock changes? On Aug 3, 3:18 am, JDG ghil...@gmail.com wrote: What do you mean? The time of a tweet? If so, you have the created_at parameter in the status object which is the UTC time of the tweet, and the user object within the status object lists the user's utc_offset. Using that, you're able to get the exact time of the tweet, relative of course to the user's honesty in setting their time zone. On Sun, Aug 2, 2009 at 17:43, Matt mattroberts...@gmail.com wrote: Is it possible to get a user's actual time including daylight savings? Matt -- Internets. Serious business.
[twitter-dev]
[twitter-dev] Re: Daylight savings
I think that you should rely on your programming language to do that. I know that in Java, if I give it a java.util.Calendar object, it can tell if I'm in DST based on the TimeZone and the date represented by the Calendar object. On Mon, Aug 3, 2009 at 15:40, Matt mattroberts...@gmail.com wrote: I'll try to be a bit specific, I need to know if a user is currently in daylight savings time. For instance my time zone is listed as London (this is where I live) GMT +0 however the UK is currently in British Summer Time (BST) which is GMT +1. The api will report that I'm in GMT +0 when I'm not. I ask this but I think I know the anwser, does the API have any knowledge of a user's actual time zone (inc DST) without the user having to change their TZ whenever their clock changes? On Aug 3, 3:18 am, JDG ghil...@gmail.com wrote: What do you mean? The time of a tweet? If so, you have the created_at parameter in the status object which is the UTC time of the tweet, and the user object within the status object lists the user's utc_offset. Using that, you're able to get the exact time of the tweet, relative of course to the user's honesty in setting their time zone. On Sun, Aug 2, 2009 at 17:43, Matt mattroberts...@gmail.com wrote: Is it possible to get a user's actual time including daylight savings? Matt -- Internets. Serious business. -- Internets. Serious business.
[twitter-dev] Re: OAuth update return HTTP 401 issue
Granado, Many thanks, I will study Shannon Whitley's C# example first. BR:) 2009/8/3 Nicholas Granado ngran...@gmail.com Weijun, These threads (links below) will probably help. http://groups.google.com/group/twitter-development-talk/browse_thread/thread/59ed5372f7c1b623 http://groups.google.com/group/twitter-development-talk/browse_thread/thread/8a598fd042e53ce0/2629fe5160fc8294 If you encounter any problems, I just went through the same problem and successfully updated my Twitter OAuth library for C#/.NET. I'd definitely be down to help you out. Cheers, Nicholas --- Nicholas Granado email: ngran...@gmail.com web: http://nickgranado.com twitter: heatxsink On Mon, Aug 3, 2009 at 3:00 AM, weijun shen swj1984...@gmail.com wrote: Hi everyone, I successfully went through OAuth procedure, and got access token using PIN, but I failed to update status,send direct message such authenticated post method. But my program works several days ago. Thank you for your help:) BR
[twitter-dev] Please Help - Brand New (403) Forbidden Errors
I have all of a sudden started getting The remote server returned an error: (403) Forbidden any time I try to destroy a friend or add a friend. This all worked fine for the past couple of days. Can anyone explain what might be happening? Thanks, Dan
[twitter-dev] Re: Daylight savings
Hi Matt, Right now neither the API nor the Twitter site settings know anything about DST for any timezone. The best you can do for now is, as JDG suggest, figure this out programmatically on your end. Thanks, -Chad Twitter Platform Support On Mon, Aug 3, 2009 at 5:40 PM, Mattmattroberts...@gmail.com wrote: I'll try to be a bit specific, I need to know if a user is currently in daylight savings time. For instance my time zone is listed as London (this is where I live) GMT +0 however the UK is currently in British Summer Time (BST) which is GMT +1. The api will report that I'm in GMT +0 when I'm not. I ask this but I think I know the anwser, does the API have any knowledge of a user's actual time zone (inc DST) without the user having to change their TZ whenever their clock changes? On Aug 3, 3:18 am, JDG ghil...@gmail.com wrote: What do you mean? The time of a tweet? If so, you have the created_at parameter in the status object which is the UTC time of the tweet, and the user object within the status object lists the user's utc_offset. Using that, you're able to get the exact time of the tweet, relative of course to the user's honesty in setting their time zone. On Sun, Aug 2, 2009 at 17:43, Matt mattroberts...@gmail.com wrote: Is it possible to get a user's actual time including daylight savings? Matt -- Internets. Serious business.
[twitter-dev] Re: Please Help - Brand New (403) Forbidden Errors
Is this via OAuth or Basic Auth calls? Nick --- Nicholas Granado email: ngran...@gmail.com web: http://nickgranado.com twitter: heatxsink On Mon, Aug 3, 2009 at 8:01 PM, Dan Kurszewski dan.kurszew...@gmail.comwrote: I have all of a sudden started getting The remote server returned an error: (403) Forbidden any time I try to destroy a friend or add a friend. This all worked fine for the past couple of days. Can anyone explain what might be happening? Thanks, Dan
[twitter-dev] Re: [twitter-dev]
42 On Mon, Aug 3, 2009 at 6:57 PM, George Thiruvathukal gthir...@gmail.comwrote:
[twitter-dev] Re: Pagination limit for REST API(3200)
So if i user_timeline REST api call and use max_id =X or since_id = Y and count=200 i can get 3200 messages backwards from X or 3200 messages forward from Y and then hit the limit. My specific questions: 1) can i use some different max_id and count=200 after the above scenario is hit. 2) What if in the next user_timeline REST api calls i use a different reference point max_id = A or since_id = B can i use count=200 and still get different set of 3200 messages? --dharmesh On Tue, Aug 4, 2009 at 12:34 AM, Josh Roesslein jroessl...@gmail.comwrote: Correction: 3200--1800 Sorry for that math error ;) On Mon, Aug 3, 2009 at 2:03 PM, Josh Roesslein jroessl...@gmail.comwrote: I believe it means you can not go back more than 3200 statuses. Example: user has posted 5000 statuses. you can only view statuses 3200+ via the api. Its not a limit that gets used up like the api rate limit. On Mon, Aug 3, 2009 at 1:39 PM, dp dharmesh.par...@gmail.com wrote: Hi Doug, I did read that but was not able to get the exact implications of it, thats why the question. So lets say i use count to get 3200 messages in history for a user, then can i use the count ever again (count 20), or i have reached the limit for that user permanently?? -dharmesh On Aug 3, 10:28 pm, Doug Williams d...@twitter.com wrote: Hi there -- Check out #6 in the Things Every Developer Should Know article [1]. 1.https://apiwiki.twitter.com/Things-Every-Developer-Should-Know Thanks, Doug On Sun, Aug 2, 2009 at 11:27 AM, dp dharmesh.par...@gmail.com wrote: When the REST API limit for using count/page reaches 3200 for a particular user account, does it mean that that user account can never use count/page parameters any-more?? Does this limit reset? -- Josh -- Josh -- --Dharmesh
[twitter-dev] Account Verify Credentials
From the api documentation: Because this method can be a vector for a brute force dictionary attack to determine a user's password, it is limited to 15 requests per 60 minute period (starting from your first request). Is this per user? ie: if my server queries user A and gets credentials verified ok after 14 other users verify am I locked out or is it just after 15 tries for the same user? The former would seem illogical but I just want to make sure... Thanks, Bob