BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Google Wave机器人API的新特性

| 作者 Abel Avram 关注 11 他的粉丝 ,译者 马国耀 关注 1 他的粉丝 发布于 2010年5月18日. 估计阅读时间: 3 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

Google Wave Robots API V2不对V1向后兼容,而是提供了一些新特性,如活动API 、上下文、过滤、错误报告以及Proxying-For。开发者除了使用JavaPython客户库等便利的方法创建机器人之外,还可以基于Robot Wire协议创建自己的库。

机器人是一个自动的wave参与者,它是一个服务端应用程序,可以创建wave并与之进行交互。例如,它可以添加/删除参与者、创建/修改blip(Blip是 wave中的最小的会话单元)以及以wave的身份与外界交互。Google已经把机器人API升级到Robots API V2,该版本不对V1向后兼容。Google邀请所有开发者在2010年6月30日之前将代码移植到新版本,到那时旧版本将不再使用。

Robots API V2 中新增的特性有:

  • 活动API:在V2中,现在机器人可以向wave推送信息(而不需要等待用户的动作)。它替代了我们不推荐的cron API,现在你可以在天气变化时或股价跌破某阈值时更新wave。你可以从Active API文档中了解更多。
  • 上下文:机器人可以更精确地确定他们期望从某个特定的事件返回的信息。如果仅需对受影响的blip进行更新而且你要降低机器人使用的带宽,那么你就可以指定新的“SELF”上下文。另一方面,如果你需要wavelet中的所有信息,你可以指定“ALL”上下文。你可以从Context文档中了解更多信息。
  • 过滤:类似地,有了此API,机器人可以指定响应哪些事件,从而节约珍贵的带宽资源——忽略所有不符合的事件。你可以从Filtering Events文档中了解更多信息。
  • 错误报告:机器人现在可以注册接收失败操作的错误信息,如插入信息的位置不存在的情况。你可以从Error Reporting文档中了解更多信息。
  • Proxying-For:机器人现在可以向Google Wave表明他们所发出的动作是以其他用户的身份发出的,这是通过设置proxying-For域实现的。对于Buggy示例这样的机器人,它连接了Google Code问题跟踪器,这意味着通过它可以使用非wave系统中的用户的属性对wave进行更新。 你可以从Proxying-For文档中了解更多信息。

最新公布的一些机器人API的 新特性有:

  • 捆绑式申明——在一次调用中添加新文本标注它。
  • 内联Blip定位——得到一个Blip在其他Blip中的位置。
  • 只读角色——通过API设置wave的只读访问。

机器人使用 Robot Wire协议与wave交互,这是一种基于事件的交互方式。机器人将自己注册到其关注的wave上,此后wave的变更和修改通过包含在JSON消息包中的事件通知机器人。机器人在收到此类事件后可能会触发对wave的某个操作,可能通过JSON-RPC的方式,也可能使用机器人API。

当前可用开发者使用Robots Wire协议创建机器人的库有Java客户库Python客户库,但该协议也支持开发者基于它们所使用的语言创建新的客户库。


查看英文原文New Features in Google Wave Robots API

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT