How to embed a google wave in wordpress or drupal..or pretty much anything

Addendum: see the note at the bottom – there’s now a much easier way to do this.

There are multiple solutions to this scattered across the web, and there are probably better places than this to find out how to do it, but since I just went through finding out how to make this work and had to multiple google to find all the pieces of the answers I needed, I figured I  would do my bit to spread the word in case others find it useful. This works in October of 2009. Things are rapidly evolving so I make no promises for the future, but right now if you want to embed a google wave into WordPress, Drupal, or any static or cms controlled page that allows you to use script tags, there are a couple of options. The first is the wavr plugin for wordpress. The gui for it fails on my instance, but the tag syntax works once you have it installed – just put the following into a post:

wave id="googlewave.com!wavid" bgcolor="#ffffff" color="#000000" height="300px"

Note – surround that with [ brackets or it won’t run. Also note that you’ll need to know both the correct wave server to call and the correct wavid – read below for how to get those.

The second method is to use this javascript:

http://wave-api.appspot.com/public/embed.js var wavePanel = new WavePanel('http://wave.google.com/wave/'); wavePanel.setUIConfig('white', 'black', 'Verdana', '10px'); wavePanel.loadWave('googlewave.com!w+RhSPBtyUB'); wavePanel.init(document.getElementById('mywaveframe'));

Which I originally found over on this post on geek whorled.

To actually post the wave you again need the correct server and wave ID. Unfortunately what google prints in the URL bar doesn’t match completely with what the API expects for the wavid, so you have to copy the wave url and change the ‘w%252b’ portion of it to w+ for the waveid . An example – this:

https://wave.google.com/wave/#restored:wave:googlewave.com!w%252BRhSPBtyUB

has a waveid of:

w+RhSPBtyUB

I figured this out thanks to a google support post, which you can see here. Note that the actual answer I needed was not initially shown to me, I had to expand the answers.

The only other thing to bear in mind is that waves can be sourced from different servers. It’s not clear what all is out there in terms of valid server addresses, but googlewave.com is what’s worked for me. The google wave url I’m looking at is wave.google.com, but the source url to pass the api call to I have to use is googlewave.com. I think that folks who were initially granted access to the sandbox that predated the 100,000 ‘public beta’ that started in October 2009 have to use a different url to pass their waveid to, and I suspect if you’re running your own wave server you’d have to use that server’s address, but like I said some of this is still unclear to me.

Anyway, hope this was useful. Now if someone can solve the speed issues… 😉

Addendum: or you could just add embeddy@appspot.com to your contact list and then add this bot to any wave you want all the embed code for. I wasn’t aware of this when I wrote this all up, and possibly it didn’t even exist at that point. Anyway now there’s a much easier way – just use embeddy.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s