Google Wave机器人开发介绍(3)
翻译自:Google Wave Robots: Overview (红色字为我的注)
机器人的标识
一个机器人是主动地参与到wave中的,这种参与是通过基于Wave机器人协议的HTTP请求和响应来完成的。但是,你并不需要知道这个协议的具体内容,因为Java和Python的类库已经封装好了,你直接可以用来开发和管理你的机器人。底层的机器人HTTP协议的文档也将在日后公布。
目前,Wave支持用Google App Engine开发的机器人。AppEngine网站的地址都是以application.appspot.com作为形式的。当你用AppEngine创建了一个机器人之后,也就隐含着你定义了一个位于 http://application.appspot.com的HTTP接口。Wave将用这个地址来和机器人交互。
Java和Python的类库已经封装好了,所以你在创建机器人的时候,不需要去考虑如何处理和管理来自wave的HTTP请求(一般都是json格式的请求)。由于这是一个开发人员预览版本,所以代码可能在今后有所改变。但是,类库的稳定性是很好的。如果你一定要直接使用Wire协议,也是可以的,但是需要明白,协议可能在今后会有变化。
用户像添加其他参与者一样添加机器人,使用机器人的App Engine应用的ID,然后加上@appspot.com作为它的wave地址。比如,如果它的App Engine应用ID是parrotybot,那么你要添加这个机器人parrotybot@appspot.com,就是在wave里面添加这个地址参与者。(我一开始一直打成parrotbot.appspot.com,所以一直添加不成功,后来才发现,原来是@appspot.com)注意,机器人看上去像是一个email的地址,但实际上Wave API会使用HTTP机制来和机器人进行交互。
注意: 在目前的开发者预览版本中,所有的Wave机器人必须是Google App Engine应用。将来的版本将会允许将机器人托管在任何服务器上,以任何地址。(其实,Google Wave和GAE结合是个不错的方案)