Observer Interactive

Post Twitter Feeds Back to Twitter

One of the more conversational topics on twitter is whether an account should be populated only by feeds. We’re not going to discuss those reasons here, but what we will do is show you one good use of using feeds to create a parent-child account relationship that brings additional content into your master account.

The use case — automatically insert a personal/child account into a business/master account. In our case, we’d like the parent account @theobserver to have automatic updates from the editor, @rthames.

The goal is to have a tweet from the parent account appear like the following, using a prefix to differentiate the update:

Via editor @rthames: With tax revenues down, the city will cut transportation jobs, trim bus service and freeze employees’ pay. www.charlotteobserver.com

Or, if you’re more visual –

via example

There are several services out there that will take an RSS feed and push the content into an authorized twitter account. We will use twitterfeed.com as our source and assume you’ve logged into the service.

Rick's RSS feed

Rick's RSS feed

Challenge no. 1: If you were to take the child user’s RSS feed directly from twitter.com (see image above for where it is, bottom of sidebar), twitterfeed will throw an error stating:

twitter does not allow posting of twitter feeds back to twitter. If you do have a particular need for this, please contact twitter at http://twitter.com/help.

Twitter will basically say, “not available.” Perhaps it’s coming as part of business account plans? In any case, it’s something to overcome, and we’ll need a proxy.

Challenge no. 2: RSS feeds from twitter take the form of [username]: [update], like this:

rthames: With tax revenues down, the city will cut transportation jobs, trim bus service and freeze employees’ pay. www.charlotteobserver.com

There’s a need to put in a prefix (such as “Via editor @”) to differentiate the update. The prefix of “Via editor” is easy, but the “@” will be hard because twitterfeed puts a trailing space at the end of its prefix ability.

You can skip the steps below if you don’t care about the @ symbol being placed directly against the username to create the auto-link twitter generates.

The Fix

There may be more eloquent solutions, but sometimes what you know is best. For a savvy internet publisher, the below should take about 15 minutes.

1. First, you’ll need to download Wordpress and go through the 5-minute install.

2. Download the FeedWordPress plug-in and install in the /wp-content/plugins directory.

3. Activate the plug-in in the Wordpress UI.

4. Grab the twitter RSS feed — the twitter.com one that doesn’t work at twitterfeed — and add it to the syndicated feeds. Example: http://twitter.com/statuses/user_timeline/15165549.rss Bonus: If you want to do this for multiple feeds, make sure to categorize the feed with a unique username to take advantage of a category-specific Wordpress RSS feed later.
categories

5. Make sure you update the feed so your new blog so that it has the RSS content now syndicated within. You’ve solved Challenge no. 1 because we’ll have a new RSS feed originating from your own blog/category. If you don’t care about the “@” symbol, insert the new feed into twitterfeed with your chosen variables and you’re finished.

6. If you care about the “@” symbol — which I do — you need to modify your RSS template to add this character. Under /wp-includes/feed-rss2.php, you’ll have to add the symbol on lines 36 and 49, after and <description> respectively.</p> <p>7. Now the RSS feed will have the @ symbol added before the title and description, which is how twitter exports their feed and now your blog imports said feed. You’ve solved <strong>Challenge no. 2</strong> now.</p> <p>8. Take your blog’s RSS feed and enter into twitterfeed, prefix as needed, and you should be all set.</p> <p>Hope that helps those looking for the same solution; I didn’t see anyone out there posting anything similar.</p> </div> <div class="entry-footer"> <a href="http://observerinteractive.com/2009/03/post-twitter-feeds-back-to-twitter/" title="Permalink to Post Twitter Feeds Back to Twitter" rel="bookmark">Permalink</a><span>|</span><a href="http://observerinteractive.com/2009/03/post-twitter-feeds-back-to-twitter/feed/" title="Comments RSS to Post Twitter Feeds Back to Twitter" rel="alternate" type="application/rss+xml">Comments RSS Feed</a> <span>-</span> <a class="comment-link" href="#respond" title="Post a comment">Post a comment</a><span>|</span><a class="trackback-link" href="http://observerinteractive.com/2009/03/post-twitter-feeds-back-to-twitter/trackback/" title="Trackback URL for your post" rel="trackback">Trackback URL</a>. <div id="nav-below" class="navigation single-nav-below"> <div class="floater-left"><a href="http://observerinteractive.com/2009/03/wow-its-been-a-month/">Previous Post</a></div> <div class="floater-right"><a href="http://observerinteractive.com/2009/04/finalist-for-eppy/">Next Post</a></div> <div class="clear"></div> </div> </div> </div><!-- .post --> <div id="disqus_thread"> <div id="dsq-content"> <ul id="dsq-comments"> <div id="comment-12738682"></div> <li id="dsq-comment-12738682"> <div id="dsq-comment-header-12738682" class="dsq-comment-header"> <cite id="dsq-cite-12738682"> <a id="dsq-author-user-12738682" href="http://kansascity.com/" target="_blank" rel="nofollow">Ian</a> </cite> </div> <div id="dsq-comment-body-12738682" class="dsq-comment-body"> <div id="dsq-comment-message-12738682" class="dsq-comment-message">Given any thought about how to create a script that runs on cron every min or so to do this instead of waiting on twitterfeed? <br> <br>I've worked some yahoo pipes into the mix to filter posts by several users via hashtags. So if they post with #news or #videos or whatever I choose, the feed gets those posts and retweets them to @kansascitystar. If they don't use the hashtags I don't pull it in, so they can have their personal account to use as normal and followers of The Star don't have to see when our morning news editor is eating a cheeseburger. <br> <br>I really like this approach but you end up waiting on pipes and twitterfeed. I've found a few php scripts that pull a single feed and re-post it and with a little modification they could take multiple incoming feeds. Where my skills fall off is doing the hashtag filtering.</div> </div> </li> </ul> </div> </div> <a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a> <script type="text/javascript" charset="utf-8"> var disqus_url = 'http://observerinteractive.com/2009/03/post-twitter-feeds-back-to-twitter/ '; var disqus_container_id = 'disqus_thread'; var facebookXdReceiverPath = 'http://observerinteractive.com/blog/wp-content/plugins/disqus-comment-system/xd_receiver.htm'; </script> <script type="text/javascript" charset="utf-8"> var DsqLocal = { 'trackbacks': [ { 'author_name': '&raquo; New Twitter Handling', 'author_url': 'http://observerinteractive.com/2009/05/new-twitter-handlin/', 'date': '05/05/2009 02:22 PM', 'excerpt': '[...] desire to feed individual reporter/editor accounts into our main @theobserver twitter account, as I&#8217;ve posted about before (for us, ...' } ], 'trackback_url': 'http://observerinteractive.com/2009/03/post-twitter-feeds-back-to-twitter/trackback/' }; </script> <script type="text/javascript" charset="utf-8" src="http://disqus.com/scripts/observerinteractive/disqus.js?v=2.0&slug=post_twitter_feeds_back_to_twitter&pname=wordpress&pver=2.11"></script> <!-- /.entry --></div> <!-- /.grid_2 --></div> <div id="sidebar" class="grid_1 alpha omega"> <div class="blog_sidebar clearfix"> <!--<div id="search"> <label for="s"><h3>Search</h3></label> <form id="searchform" method="get" action="http://observerinteractive.com"> <div class="clearfix"> <input type="text" name="s" id="s" /> <button type="submit" id="submit_btn"><img src="http://observerinteractive.com/blog/wp-content/themes/interactive_2009/images/search-btn.png" /></button> </div> </form> </div>--> <div id="back_to_blog"> <a href="http://observerinteractive.com/blog/" title="Back To The Blog"> Back To Blog</a> </div> <div id="recent-entries"> <h3>Recent Posts</h3> <ul> <li> <a class="entry-title" href="http://observerinteractive.com/2009/07/on-yahoo-and-media/" title="On Yahoo! and Media">On Yahoo! and Media</a> <div class="clear"></div> <div class="entry-meta"> <p class="time_stamp"><span class="author vcard">By <a class="url fn n" href="http://observerinteractive.com/author/admin/" title="View all posts by Jason">Jason</a> on </span><abbr class="published" title="2009-07-16T14:04:39-0400">07/16/2009 – 2:04 pm</abbr> in <span class="cat-links"><a href="http://observerinteractive.com/category/admin/" title="View all posts in admin" rel="category tag">admin</a></span></p> </div> </li> <li> <a class="entry-title" href="http://observerinteractive.com/2009/06/quick-fix-for-pubsysedit-firefox-extension/" title="Quick fix for PubsysEdit Firefox extension">Quick fix for PubsysEdit Firefox extension</a> <div class="clear"></div> <div class="entry-meta"> <p class="time_stamp"><span class="author vcard">By <a class="url fn n" href="http://observerinteractive.com/author/droberts/" title="View all posts by droberts">droberts</a> on </span><abbr class="published" title="2009-06-30T12:25:36-0400">06/30/2009 – 12:25 pm</abbr> in <span class="cat-links"><a href="http://observerinteractive.com/category/technology/" title="View all posts in technology" rel="category tag">technology</a></span></p> </div> </li> <li> <a class="entry-title" href="http://observerinteractive.com/2009/06/presentation-to-news-interns/" title="Presentation to News Interns">Presentation to News Interns</a> <div class="clear"></div> <div class="entry-meta"> <p class="time_stamp"><span class="author vcard">By <a class="url fn n" href="http://observerinteractive.com/author/admin/" title="View all posts by Jason">Jason</a> on </span><abbr class="published" title="2009-06-24T13:15:44-0400">06/24/2009 – 1:15 pm</abbr> in <span class="cat-links"><a href="http://observerinteractive.com/category/admin/" title="View all posts in admin" rel="category tag">admin</a></span></p> </div> </li> <li> <a class="entry-title" href="http://observerinteractive.com/2009/06/first-step-in-fixing-search/" title="First Step in Fixing Search">First Step in Fixing Search</a> <div class="clear"></div> <div class="entry-meta"> <p class="time_stamp"><span class="author vcard">By <a class="url fn n" href="http://observerinteractive.com/author/admin/" title="View all posts by Jason">Jason</a> on </span><abbr class="published" title="2009-06-18T10:39:35-0400">06/18/2009 – 10:39 am</abbr> in <span class="cat-links"><a href="http://observerinteractive.com/category/productrelease/" title="View all posts in productrelease" rel="category tag">productrelease</a></span></p> </div> </li> <li> <a class="entry-title" href="http://observerinteractive.com/2009/06/how-we-set-up-the-comments-onoff/" title="How we set up the comments on/off">How we set up the comments on/off</a> <div class="clear"></div> <div class="entry-meta"> <p class="time_stamp"><span class="author vcard">By <a class="url fn n" href="http://observerinteractive.com/author/droberts/" title="View all posts by droberts">droberts</a> on </span><abbr class="published" title="2009-06-15T14:45:53-0400">06/15/2009 – 2:45 pm</abbr> in <span class="cat-links"><a href="http://observerinteractive.com/category/technology/" title="View all posts in technology" rel="category tag">technology</a></span></p> </div> </li> <li> <a class="entry-title" href="http://observerinteractive.com/2009/06/completely-rebuilt-slideshows/" title="Completely Rebuilt Slideshows">Completely Rebuilt Slideshows</a> <div class="clear"></div> <div class="entry-meta"> <p class="time_stamp"><span class="author vcard">By <a class="url fn n" href="http://observerinteractive.com/author/admin/" title="View all posts by Jason">Jason</a> on </span><abbr class="published" title="2009-06-12T01:31:31-0400">06/12/2009 – 1:31 am</abbr> in <span class="cat-links"><a href="http://observerinteractive.com/category/productrelease/" title="View all posts in productrelease" rel="category tag">productrelease</a></span></p> </div> </li> <li> <a class="entry-title" href="http://observerinteractive.com/2009/06/read-comments-or-not/" title="Read Comments (Or Not)">Read Comments (Or Not)</a> <div class="clear"></div> <div class="entry-meta"> <p class="time_stamp"><span class="author vcard">By <a class="url fn n" href="http://observerinteractive.com/author/admin/" title="View all posts by Jason">Jason</a> on </span><abbr class="published" title="2009-06-10T12:08:54-0400">06/10/2009 – 12:08 pm</abbr> in <span class="cat-links"><a href="http://observerinteractive.com/category/productrelease/" title="View all posts in productrelease" rel="category tag">productrelease</a></span></p> </div> </li> </ul> </div> <div class="sb_grid_1 alpha"> <div id="categories"> <h3>Categories</h3> <ul> <li class="cat-item cat-item-3"><a href="http://observerinteractive.com/category/admin/" title="View all posts filed under admin">admin</a> </li> <li class="cat-item cat-item-4"><a href="http://observerinteractive.com/category/agency/" title="View all posts filed under agency">agency</a> </li> <li class="cat-item cat-item-5"><a href="http://observerinteractive.com/category/distribution/" title="View all posts filed under distribution">distribution</a> </li> <li class="cat-item cat-item-6"><a href="http://observerinteractive.com/category/efficiency/" title="View all posts filed under efficiency">efficiency</a> </li> <li class="cat-item cat-item-7"><a href="http://observerinteractive.com/category/metrics/" title="View all posts filed under metrics">metrics</a> </li> <li class="cat-item cat-item-24"><a href="http://observerinteractive.com/category/productrelease/" title="View all posts filed under productrelease">productrelease</a> </li> <li class="cat-item cat-item-8"><a href="http://observerinteractive.com/category/strategy/" title="View all posts filed under strategy">strategy</a> </li> <li class="cat-item cat-item-9"><a href="http://observerinteractive.com/category/technology/" title="View all posts filed under technology">technology</a> </li> <li class="cat-item cat-item-17"><a href="http://observerinteractive.com/category/twitter/" title="View all posts filed under twitter">twitter</a> </li> <li class="cat-item cat-item-1"><a href="http://observerinteractive.com/category/uncategorized/" title="View all posts filed under Uncategorized">Uncategorized</a> </li> <li class="cat-item cat-item-10"><a href="http://observerinteractive.com/category/userexperience/" title="View all posts filed under userexperience">userexperience</a> </li> </ul> </div> <!-- /.sb_grid_1 --></div> <div class="sb_grid_1 omega"> <div id="archives"> <h3>Archives</h3> <ul> <li><a href='http://observerinteractive.com/2009/07/?cat=-26,-27,-28,-29' title='July 2009'>July 2009</a></li> <li><a href='http://observerinteractive.com/2009/06/?cat=-26,-27,-28,-29' title='June 2009'>June 2009</a></li> <li><a href='http://observerinteractive.com/2009/05/?cat=-26,-27,-28,-29' title='May 2009'>May 2009</a></li> <li><a href='http://observerinteractive.com/2009/04/?cat=-26,-27,-28,-29' title='April 2009'>April 2009</a></li> <li><a href='http://observerinteractive.com/2009/03/?cat=-26,-27,-28,-29' title='March 2009'>March 2009</a></li> <li><a href='http://observerinteractive.com/2009/02/?cat=-26,-27,-28,-29' title='February 2009'>February 2009</a></li> <li><a href='http://observerinteractive.com/2009/01/?cat=-26,-27,-28,-29' title='January 2009'>January 2009</a></li> <li><a href='http://observerinteractive.com/2008/11/?cat=-26,-27,-28,-29' title='November 2008'>November 2008</a></li> <li><a href='http://observerinteractive.com/2008/10/?cat=-26,-27,-28,-29' title='October 2008'>October 2008</a></li> </ul> </div> <div id="meta"> <h3>Meta</h3> <ul> <li><a href="feed:http://observerinteractive.com/feed/" title="Syndicate this site using RSS">Site Feed</a></li> <li><a href="feed:http://observerinteractive.disqus.com/latest.rss" title="The latest comments to all posts in RSS">Comments Feed</a></li> <li><a href="http://observerinteractive.com/blog/wp-login.php">Log in</a></li> </ul> </div> <!-- /.sb_grid_2 --></div> </div> <div class="blog_sidebar"> <div id="links"> <ul> <li id="linkcat-22" class="linkcat"><h2>Communities</h2> <ul> <li><a href="http://momscharlotte.com" rel="me" title="MomsCharlotte.com">MomsCharlotte.com</a></li> <li><a href="http://www.facebook.com/home.php#/pages/Charlotte-NC/The-Charlotte-Observer/42580340317">Observer Facebook Page</a></li> </ul> </li> <li id="linkcat-25" class="linkcat"><h2>Contributors</h2> <ul> </ul> </li> <li id="linkcat-23" class="linkcat"><h2>News Sites</h2> <ul> <li><a href="http://charlotteobserver.com" rel="me" title="Home of The Charlotte Observer">CharlotteObserver.com</a></li> <li><a href="http://thatsracin.com" rel="me" title="That’s Racin">ThatsRacin.com</a></li> </ul> </li> <li id="linkcat-17" class="linkcat"><h2>twitter</h2> <ul> <li><a href="http://twitter.com/obs_business">@obs_business - Business</a></li> <li><a href="http://twitter.com/obs_interactive">@obs_interactive - this division</a></li> <li><a href="http://twitter.com/obs_localnews">@obs_localnews - Local News</a></li> <li><a href="http://twitter.com/obs_sports">@obs_sports - Sports Feed</a></li> <li><a href="http://twitter.com/perfectsleeper">@perfectsleeper - Dave Roberts</a></li> <li><a href="http://twitter.com/sleuth">@sleuth - Jason Silverstein</a></li> <li><a href="http://twitter.com/thatsracin">@thatsracin - ThatsRacin.com</a></li> <li><a href="http://twitter.com/theobserver">@theobserver - main account</a></li> </ul> </li> </ul> </div> </div> <!-- /#sidebar --></div> <!-- /#content --></div> <!-- /#content_wrap --></div> <!-- /#content_bg --></div> <div id="footer"> <div class="grid_4"> <div class="grid_1 omega"> <div class="grid_1a alpha"> <h5>our sites</h5> <ul class="link_list"> <li><a href="http://www.charlotteobserver.com/">charlotteobserver.com</a></li> <li><a href="http://www.charlotteobserver.com/moms/">momscharlotte.com</a></li> <li><a href="http://www.thatsracin.com/">thatsracin.com</a></li> <li><a href="http://www.charlotteobserver.com/carolinabride/">carolinabride.com</a></li> </ul> </div> <div class="grid_1a omega"> <h5>mcclatchy sites</h5> <ul class="link_list"> <li><a href="http://www.mcclatchydc.com/">mcclatchydc.com</a></li> <li><a href="http://www.mcclatchy.com/">mcclatchy.com</a></li> </ul> </div> </div> <div class="grid_1" id="footer_advertise"> <h5>advertise with us</h5> <p>Call or follow the link below to contact our advertising department. We have numerous solutions to help you reach your target audience.</p> <p><a href="http://www.charlotteobserver.com/advertise/">http://www.charlotteobserver.com/advertise/</a></p> </div> <div class="grid_1 alpha"> <h5>contact us</h5> <!-- <div class="footer_contact_info"> <ul> <li class="name">Jason Silverstein</li> <li class="title">VP Interactive</li> <li class="phone">704.227.6304</li> <li class="email"><a href="mailto:jsilverstein@charlotteobserver.com">jsilverstein@charlotteobserver.com</a></li> </ul> </div> --> <div class="footer_contact_info"> <ul> <li class="name">Dave Roberts</li> <li class="title">Development Manager</li> <li class="phone">704.227.6307</li> <li class="email"><a href="mailto:droberts@charlotteobserver.com">droberts@charlotteobserver.com</a></li> </ul> </div> </div> <!-- /.grid_4 --></div> <!-- /#footer --></div> <!-- /#wrap --></div> <!-- Google Analytics --> <script type="text/javascript"> var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); </script> <script type="text/javascript"> try { var pageTracker = _gat._getTracker("UA-7144658-1"); pageTracker._trackPageview(); } catch(err) {}</script> <!-- /analytics --> </body> </html>