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.
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:
has a waveid of:
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 firstname.lastname@example.org 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.