写点什么

Google Wave 机器人 API 的新特性

  • 2010-05-16
  • 本文字数:1137 字

    阅读完需:约 4 分钟

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

2010-05-16 23:372667
用户头像

发布了 184 篇内容, 共 89.8 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

基于JavaSpringMVC+vue实现协同过滤电影推荐系统详细设计

java李杨勇

Java spring Vue 3 签约计划第三季 协同过滤

leetcode 239. Sliding Window Maximum 滑动窗口最大值

okokabcd

LeetCode 数据结构与算法 双端队列

因果决策从YLearn开始,数据智能基础软件迎“风口”

九章云极DataCanvas

人工智能 GitHub 数据智能 YLearn 工具包

什么是知识管理系统?如何改善客户体验?

Geek_da0866

多次拿下移动集团技术发明大奖,TA是怎么做到的?

鲸品堂

AI 资源

开源一夏 |ModelScope--人像卡通化、人像美肤

六月的雨在InfoQ

开源 8月月更 ModelScope

StoneDB 读、写操作的执行过程

StoneDB

MySQL 数据库 大数据 #开源 8月月更

RocketMQ高性能设计之动态缩扩容和消息实时投递

急需上岸的小谢

8月月更

浅谈成功的企业知识管理

Baklib

开源知识库与SaaS解决方案的区别

Geek_da0866

Hi,我是ChunJun,一个有趣好用的开源项目

袋鼠云数栈

系统入门-Linux系统基础命令

Albert Edison

Linux centos 指令 8月月更

架构实战营毕业总结

Geek_53787a

CSS 移动光标使文本产生多个反差色特效

南城FE

CSS css3 前端 动画

开源一夏 |分布式事务

六月的雨在InfoQ

开源 分布式事务 2PC 3PC 8月月更

开源生态研究与实践| ChinaOSC

CCF开源发展委员会

开源中国专访 TJ:开源许可证,欢迎来到云时代

tapdata

Tapdata 开源社区

备受资本市场关注的Zebec,正在构建“新DeFi”生态

小哈区块

【云原生】SpringCloud是什么?

java李杨勇

Java spring-boot 签约计划第三季

底层原理源码+面试场景还原,阿里巴巴多线程JDK源码学习笔记全网首次公开

程序员小毕

程序员 面试 多线程 高并发 jdk源码

【云原生】微服务SpringCloud-eureka(server)集群搭建

java李杨勇

Eureka spring-cloud 签约计划第三季

超云

Kent Yao

超云 Supercloud

C++继承中的对象模型与继承中构造和析构顺序

CtrlX

c c++ 面向对象 继承 8月月更

知识管理体系在企业中的作用

Baklib

【云原生】SpringCloud-Spring Boot Starter使用测试

java李杨勇

Java web SpringCloud Alibaba 签约计划第三季

李斯特:不同流派的产品创新方法及创新误区丨创新工作坊

RTE开发者社区

灵感宝盒 RTE NG-Lab

移动端四种热更新技术对比

Geek_99967b

小程序

中国开源先锋人物志 | ChinaOSC

CCF开源发展委员会

Redis 潜在问题

武师叔

8月月更

Google Wave机器人API的新特性_Java_Abel Avram_InfoQ精选文章