Somewhere in the middle of running the “Hacking, Mashups, and Other Rebel Coding” session in the BlogHer 09 Geek Lab yesterday, I remembered that I never told the Internet how I solved the “Twitter to Facebook Pages” problem. It turned out to be an impressively convoluted daisy chain of a hack, and I’ll lay it all out below. But first: what am I talking about?
The Twitter to Facebook Pages Problem
A number of people (including myself) live on Twitter these days, and keep Facebook around as a secondary home. Personally, I’ve found it helpful to auto-broadcast my twitter updates as facebook status updates, so my Facebook friends know what I’m up to. There’s a very simple facebook app called “Twitter” that will manage this connection, and it’s super-easy to set up. (Note: If you want to start doing this, please do it with care. If you tweet a LOT, you could seriously annoy your facebook friends with this connection).
Meanwhile, Facebook launched their new and improved “Pages” functionality a year or so ago, which means that non-people (companies, projects, organizations, websites, okay and people too) can have facebook profiles that look and act like normal profiles, except that folks become “Fans” instead of “Friends.” This is awesome… except that the Twitter app FAILS MISERABLY when it tries to connect a twitter stream to a facebook page. It just doesn’t work right. A bug somewhere. They say they’re working on it, but it’s been a year now, and I don’t think we should hold our breaths.
So… I started a Facebook page for Genderfork, and wanted the Genderfork Twitter updates (which are AWESOME, thanks to the fantastic work of Bird of Paradox’s Helen) to show up as status updates on that page. This would be helpful and relevant, and it would make a lot of people happy. But, of course, it can’t be done. At least, not the easy way.
It’s also worth noting that we schedule our tweets for this account in advance using TweetLater.com. This means that any solution that requires us to tweet from X application probably won’t work for us, because it would mean we’d lose our scheduling abilities. It’s also worth noting that TweetLater does have a paid solution that would cut out some of the steps below… but Genderfork has no money, so we kept looking.
The Daisy Chain Hack
Ready for the answer? Here it is:
TweetLater.com -> Twitter.com -> Yahoo Pipes -> Twitterfeed.com -> Ping.fm -> Facebook Pages
Didja get all that?
Lemme break it down…
TweetLater.com -> Twitter.com: This is how we normally do things. I won’t go into those details here.
Twitter.com -> Yahoo Pipes: You’ll need to use your Twitter RSS feed, and this includes your username before every tweet, which gets annoying quickly on Facebook. So we’re going to run your feed through a hack someone set up on Yahoo Pipes that will remove your username from it. Go to this page, enter your Twitter username, wait for it to generate a feed, and click the “Get as RSS” menu option. When you end up at a funny-looking text-based page that shows your tweets on it, copy that URL. You’ll need it for the next step.
Yahoo Pipes -> Twitterfeed.com: So you copied the URL to your RSS feed, right? Cool. Now go to Twitterfeed.com and create an account. The go to “Create New Feed” and set the dropdown box to Ping.fm. Give your feed a name (doesn’t matter much what it is) and enter that RSS URL you grabbed. You’ll want to make a few changes under Advanced Settings on this page, too: (1) Change posting frequency to 30 minutes, (2) Change Post Content to include “title only,” and (3) turn off “Post Link.” Now wait here a minute.
Twitterfeed.com -> Ping.fm: In another window, browse to Ping.fm, create an account, and make sure you’re logged into it. Then jump back over to your Twitterfeed window and click the “Application Key” link (it’s a section header) on the page. It will launch another page that will give you a long secret key. Put that into your Twitterfeed window under Key to complete the process. It will ask how you want to post to ping… via microblogs, status updates, etc. It doesn’t really matter what you choose as long as you remember it and pick the same method when you get to Ping. Now submit that page. You’re done here.
Ping.fm -> Facebook Pages: This part’s a little confusing. You need to follow Ping’s instructions to set up a connection between your Ping account and your Facebook Page. This involves first creating a link to your profile, then adding the Ping app to your Facebook page, and manuevering buttons and switches until everything is set to the right thing. When you think you’re done TEST it by posting via the Ping.fm interface to microblogs or status updates or whatever you set in your Twitterfeed setting. It should show up on your Facebook Page and NOT on your Facebook Profile. If any of that’s not perfect, keep clicking and poking.
If all of that went as planned, you’re done now, but have no instant-gratification way of checking your work. So just sit back and wait for your next tweet to fully propogate, and see if it ends up on Facebook. You’ll need to give it an extra hour or so of wait time to be sure… there are some delays built into this process. (If you run into problems, go back and check to see that Twitterfeed.com is recognizing new posts.) Mine didn’t start working for three days because Twitterfeed was blocking Yahoo Pipes URLs (they seem to have fixed that now). But now it works beautifully.
Lemme know if it works for you.