I'm working on a basic personal homepage, consists of a single html document, a .css and jquery*.js file. I want to create a blog-ish look via fetching page content from tweets. The standart widget doesn't fit to the look of the page.
I can fetch public tweets from any account with no authentication crap (it's crap because it public data anyway) via API v1. But with API v1.1, it returns authentication error. It wants me to authenticate to fetch public data. Try to navigate this url. it shows ({"errors":[{"message":"Bad Authentication data","code":215}]});
.
My question is is there a way to fetch public tweets via client side js? I don't want to create an app to just fetch public data. I don't wan't to use identi.ca or else, but Twitter pushes me to do.
Upon the comment of Zachary Kinebel to Norguard's answer, I thought, as a comment of Norguard's might be helpful to others, I should put it here:
/search.json?q=from:nerdswguitars
=== recent tweets by NerdsWGuitars /search.json?q=to:nerdswguitars
=== recent tweets to NerdsWGuitars /search.json?q=from:nerdswguitars
OR to:nerdswguitars
=== both. /search.json?q=@nerdswguitars
=== posts involving NerdsWGuitars. /search.json?q=#nerdswithguitars
=== posts trending "nerdswithguitars". But you MUST make sure that you're properly URL encoding the query. Read more here: and if you can't find what it is that you're looking for, out of this, then you need to be a lot more specific
I'm working on a basic personal homepage, consists of a single html document, a .css and jquery*.js file. I want to create a blog-ish look via fetching page content from tweets. The standart widget doesn't fit to the look of the page.
I can fetch public tweets from any account with no authentication crap (it's crap because it public data anyway) via API v1. But with API v1.1, it returns authentication error. It wants me to authenticate to fetch public data. Try to navigate this url. it shows ({"errors":[{"message":"Bad Authentication data","code":215}]});
.
My question is is there a way to fetch public tweets via client side js? I don't want to create an app to just fetch public data. I don't wan't to use identi.ca or else, but Twitter pushes me to do.
Upon the comment of Zachary Kinebel to Norguard's answer, I thought, as a comment of Norguard's might be helpful to others, I should put it here:
/search.json?q=from:nerdswguitars
=== recent tweets by NerdsWGuitars /search.json?q=to:nerdswguitars
=== recent tweets to NerdsWGuitars /search.json?q=from:nerdswguitars
OR to:nerdswguitars
=== both. /search.json?q=@nerdswguitars
=== posts involving NerdsWGuitars. /search.json?q=#nerdswithguitars
=== posts trending "nerdswithguitars". But you MUST make sure that you're properly URL encoding the query. Read more here: https://dev.twitter.com/docs/using-search and if you can't find what it is that you're looking for, out of this, then you need to be a lot more specific
2 Answers
Reset to default 10EDIT
In the wonderful world of bad ideas, Twitter is sunsetting this answer, as of May 2013, and will require, at minimum, that you either use one of their widgets, and shoehorn it in, or that you set up an application and do application-level authentication, even for public-timeline GET
requests.
If they change their mind, or delay the throwing of the switch, this will at least continue to be here.
Use the Search API:
"http://search.twitter.com/search.json?q=nerdswguitars"
You can use the URL-encoded #
or @
in front of search terms. You can also use keywords like from
or to
, and specify limits, et cetera.
You can use Mooch, a small application designed to solve this exact problem. Setting up a new Mooch service is very simple, and utilizes Heroku. The deployment process requires the Heroku Toolbelt application.
Step 1: Create a Twitter app
- Visit https://dev.twitter.com/.
- Sign in with a Twitter account.
- Create a new application.
Step 2: Get Mooch
- Clone the Git repository (
git clone [email protected]:eloquent/mooch.git
). - Change into the Mooch root directory.
Step 3: Create a Heroku app
- Sign in with Heroku Toolbelt (
heroku login
). - Create a new app with
heroku create
.
Step 4: Configuration
Mooch authenticates requests to the Twitter API using the application-only authentication method. This requires the consumer key and secret from the Twitter application created in step 1.
Example authentication configuration
heroku config:set MOOCH_CONSUMER_KEY=xvz1evFS4wEEPTGEFPHBog
heroku config:set MOOCH_CONSUMER_SECRET=L8qq9PZyRg6ieKGEKhZolGC0vJWLw8iEJ88DRdyOg
Step 5: Deploy
git push heroku master
The new Mooch service should now be ready for use. Check the Heroku dashboard for the service's location.
For more detailed configuration instructions, a demo application and more, check out the Mooch README on GitHub.
statuses/user_time
but the newsearch/tweets
can be implemented with little change (update the URL and add/change the desired parameters). – Zachary Kniebel Commented Mar 18, 2013 at 16:52