Main
Latest
- Twitter on Google App Engine
- wget has rounding mistake or something?
- Twitter Replies
- Blog Reopened
- Blog closed (temporarily)
- "I won't forget" by Jacques FT. Pebbles
- Jaiku Revisited
- Warcode
- myXchange July 2008
- The Netherlands at war with Zimbabwe?
Archives
- June 2004
- July 2004
- August 2004
- September 2004
- October 2004
- November 2004
- December 2004
- January 2005
- February 2005
- March 2005
- April 2005
- May 2005
- June 2005
- July 2005
- August 2005
- September 2005
- October 2005
- November 2005
- December 2005
- January 2006
- February 2006
- March 2006
- April 2006
- May 2006
- June 2006
- July 2006
- August 2006
- September 2006
- November 2006
- December 2006
- January 2007
- February 2007
- March 2007
- April 2007
- May 2007
- June 2007
- July 2007
- August 2007
- September 2007
- October 2007
- November 2007
- December 2007
- January 2008
- February 2008
- March 2008
- April 2008
- May 2008
- June 2008
- July 2008
- August 2008
- September 2008
- October 2008
- November 2008
- December 2008
- January 2009
Jaiku on Google App Engine
This is quite a dirty hack, but it works really well.
You can't use Python's standard xmlrpclib on Google App Engine because of the socket restrictions. The only thing I managed to get running so far is Google's special urlfetch library.
So here is the solution. And this one, unlike the Twitter one, actually works on both dev_appserver.py and after being uploaded (at least last when I tried). After all, it's all Google (Jaiku has mos been bought over and everything...)
url = 'http://api.jaiku.com/xmlrpc'
payload = "<?xml version='1.0'?><methodCall><methodName>presence.send</methodName><params><param><value><struct><member><name>personal_key</name><value><string>%s</string></value></member><member><name>message</name><value><string>%s</string></value></member><member><name>user</name><value><string>%s</string></value></member></struct></value></param></params></methodCall>" % (cgi.escape('myjaikukey'), cgi.escape('my new update'), cgi.escape('myjaikuuser'))
urlfetch.fetch(url=url, payload=payload, method=urlfetch.POST)
This should allow you to post a new message and other API calls can probably be done similarly.
Btw, how did I get this XML-RPC request you might ask? I used the standard xmlrpclib on my localhost and ran ngrep while the request was being made. :)
Copyright © 2004-2009 Charl van Niekerk. All articles are released under the Creative Commons Attribution 2.5 South Africa licence, unless where otherwise stated.


0 Comments
Post a Comment