How to create a RSS feed from a Twitter user timeline

Introduction

I have used services before like TwitRSS.me to generate RSS feeds from Twitter user timelines. However, I recently noticed that the one feed I was using from this service did not seem to be updating. I took a look at the home page, and it appears that the service might not be working anymore due to changes at Twitter.com. Based on that, I decided I needed to look for another tool, and found two that appear to work well.

Granary

The first is Granary.io, which calls itself “the social web translator”. This site runs an app written in Python, and creates multiple feed types for Twitter, Facebook, Instagram, and several other social media sites/services. The home page features a set of buttons for a user to choose which service to work with. I clicked on the Twitter button, which then started an authentication with my Twitter account (I was logged in, so I did not have to take any action), then was replaced by a set of text boxed/drop-down menus:

I then changed the first drop-down menu from “@all” to “@self”, then changed the format dropdown from “as2” to “rss”. I pressed the “Go” button, which then generated a list of my last ten posts in RSS format. The app generated a link which I am adding to my feed reader. Next, I changed the “username” text box to another Twitter user handle “davewiner” (did not include the “@” symbol). Clicking on the “Go” button again gave a list of the last 10 tweets from davewiner. I did notice that the list was not in reverse-chronological order.

TweetsToRss

The second tool I reviewed was tweetsToRss by Dave Winer. This is a Node.js app which uses the node-twitter-api NPM package to get data from a Twitter user’s timeline. In order to use the app, the user needs to get an approved Twitter developer account to get a set of keys for this app. Fortunately, I had a set of keys from a previous Twitter app that I was able to reuse for this app.

I had Git, Node.js, and NPM already installed on a server, so I did a git command to download the app to my server:

git clone https://github.com/scripting/tweetsToRss

The app was copied into a folder (tweetsToRss). I then changed directories to that folder, then made some edits to the main app file tweetstorss.js:

  • Added the four keys as specified on the app README.md page (decided to edit the parameters to specify the keys directly rather than set them up as environment variables.
  • Set pathRssFile to “”
  • Set twitterScreenName to “davewiner”

Next, I did a NPM command to install the required Node.js modules:

npm install

Finally, I went ahead and ran the app with the command:

node tweetstorss.js

The app started and appeared to run, but did not create a RSS file. After some experimenting, I figured out that pathRssFile needed to be set to undefined:

var pathRssFile = undefined;

With that last change, the app ran and created a RSS file with the 10 most recent tweets from davewiner (Dave Winer, creator of the app). The last change I made was to add a JSON file with a list of several Twitter usernames to create RSS files for each one (the README file links to an example that I modified). My final step with the app was to run it with the forever command:

forever start tweettorss.js

The app was now running continuously and calling the Twitter API once a minute to check the Twitter user timelines and update the RSS files. My last step was to reuse a script to FTP the feeds to a web server to be able to access them from my feed reader.

Viewing the feeds

To read the RSS files, I set up two single page apps using River5 and the RiverBrowser toolkit:

Conclusions

Pros:

  • The Granary version shows more of the text from the tweets
  • Able to use Granary API without having a server
  • The TweetsToRss app better shows which of the Twitter user timelines are being shown
  • The TweetsToRss app runs on my server, so I am not dependent on another service to get the Twitter data (like I was for TwitRSS.me)

Cons:

  • TweetsToRss needs more setup that Granary

Both tools provide the desired result – the ability to follow Twitter users using a feed reader instead of a Twitter app or Twitter.com. Enjoy!

References

Bookmarked Fraidy Cat, a New RSS Reader by Ton Zijlstra (zylstra.org)

A few weeks ago Kicks Condor released a major update of his Fraidycat feed reader. Like Kick Consor’s blog itself, Fraidycat has a distinct personality.
Key with Fraidycat is that it aims to break the ‘never ending timeline’ type of reading content that the silos so favour to keep you scrollin…

Ton Zylstra reviews the Fraidy Cat RSS reader from Kicks Condor.

Announcing the Media Feed Project

In a recent post, I commented on an idea from Dave Winer on providing a definitive list of RSS feeds for new organizations, and trying to get universities involved. I decided to take some action on my own, and created the Media Feed Project website and Github repo. The content in the OPML files at the Github repo are from my prior work on a news site called FullBlastNews.com. If anyone has RSS feed lists for news organizations, I would be interested in getting a copy. Let me know!

 

Want to help creating RSS reading lists for news orgs?

This morning, I saw a tweet from Dave Winer responding to a Emily Bell and Aron Pilhofer thread on making news story data available for public understanding. Dave made the following comment:

Emily, Aron — I’ve followed the other thread. Interesting. Here’s something useful that could help right away. A collection of RSS feeds from news orgs, maintained, with metadata. Something a group of j-school students, maybe even from different unis, could do. 😉

I added this to the thread:

I have a start at this, see http://andysylvester.com/files/reading_lists/, these lists are used by River5 to power http://fullblastnews.com

Several years ago, I created lists for print media, news networks, video from news networks, and collections on other topics for a demonstration site called FullBlastNews.com. It was meant to show off River4 (at the time) and use of tabs to switch between different news rivers. Some of the navigation is having some problems now, but the rivers still run….

I am publishing my reading lists/rivers lists/RSS lists URL to help jump start this, I am not sure if Aron or Emily or Dave will take any action, but I will be following this conversation to see where it leads.

 

Read: Defining a microblog post

Read Defining a microblog post

I’m working on a new project around timelines and microblogs. It consumes RSS feeds, so I’ve been wondering how strict to be when accepting posts. What does microblog mean, anyway?
Wikipedia defines it this way: “Microblogging is a broadcast medium that exists in the form of blogging. A microblo…

Read: RSS for microblogs

Read RSS for microblogs

RSS is solid. It’s lasted a long time with very few changes, and forms the foundation for subscribing to weblogs and delivering podcasts. It’s huge and the open web is a much better place because RSS exists.
But even if RSS doesn’t need to change, some types of apps would be better off if we t…

The Feed Handbook is now live!

For some time, I have wanted to provide a collection of information on RSS (Really Simple Syndication). After some delay, I now present – The Feed Handbook. This site is a set of topic pages, along with a blog to document updates. Currently, I have the following topics:

  • Introduction
  • Feed Formats
  • Feed Readers
  • Feed Tools

My next topic will be Feed Sources (where to find feeds), and I am sure there will be more after that. If anyone has anything they would like to see include, contact me at the email address on the home page. Enjoy!