API 使用案例

Mirror API 提供了一组构建块,可用于为 Glass 构建服务。由于 Glass 服务可能与您开发的其他软件不同,因此如何将 Mirror API 的功能组合在一起并不明显。

许多服务都属于几个 API 使用类别。下面这些案例说明了如何组合 Mirror API 的功能来创建 Glass 服务。

关于猫咪的信息

向 Glass 时间轴分发内容是一项简单但强大的 Google Mirror API 用法。 《Cat Facts》示例通过 Glassware 向用户提供有关猫的真相, 可以遵循以下流程:

  1. 用户访问您的 Web 应用,并通过 OAuth 2.0 进行身份验证来订阅。
  2. 您的服务会每小时向每位用户提供一个新的猫咪事实信息玻璃。

Cat Facts 将使用 Timeline 插入方法实现:

关于猫咪知识的流程

  1. 用户通过 OAuth 2.0 进行身份验证来订阅
  2. Cat Facts 存储用户及其凭据的索引
  3. 《Cat Facts》每小时都会发布一份新的猫咪知识。它通过遍历所有存储的用户并将时间轴项插入他们的时间轴来实现这一点。

再加一只猫

人类技术进步的每一步,都会为猫的照片的分发提供改进的方法。Google Glass 项目也不例外。

因为每张照片都比猫好,所以此服务允许用户将一张随机的猫图片和他们用 Glass 拍摄的照片合成。

  1. 您的用户访问您的 Web 应用,并通过使用 OAuth 2.0 进行身份验证的方式安装“Add a Cat to That”扩展程序。
  2. 您的服务会在用户的 Google Glass 上创建一个名为“Add a Cat to That”的新联系人。
  3. 当用户拍摄照片时,他们可以通过“Add a Cat to That”功能分享这些照片。
  4. 您的服务会在共享的照片上随机合成一张猫咪图片。
  5. 最后,您的服务会将猫咪美化的照片发送到用户的 Glass。

在架构上,此服务将遵循以下 API 流程:

向该流程添加一只猫

  1. 您的用户使用 OAuth 2.0 进行授权。您的服务会存储其凭据。
  2. 在 OAuth 2.0 Dance 完成后,您的服务将插入一个名为“Add a Cat to That”的联系人。
  3. 接下来,您的服务通过插入 timeline 集合的订阅来订阅此用户时间轴中的更新。“添加猫咪”图标现已设置完毕。
  4. 久而久之,用户就会拍照。
  5. 您的用户通过“添加猫咪”功能分享照片。这样一来,您的服务就可以访问与此照片关联的时间轴卡片。
  6. 由于您的服务订阅了时间轴更新,因此系统会向您的服务发送通知。此通知会链接到包含所分享照片的时间轴项。
  7. 您的服务会检查通知,并使用包含的 id 提取包含照片的时间轴卡片。
  8. 接下来,您的服务会检查时间轴项,并使用附件 ID 提取照片的字节。
  9. 您的服务会随机选择一个猫咪图片,并将其合成为共享的照片。
  10. 最后,您的服务会构建一个新的时间轴卡片,然后将其插入用户的时间轴卡片中,并附上猫咪增强照片。

附近的宠物店

唯一比关于猫的事实或猫的图片更好的事情,那就是真实的毛茸茸的猫。Mirror API 可确保您始终知道最近的宠物店在哪里,从而简化这一过程。

使用情况遵循以下流程:

  1. 用户访问您的 Web 应用,并通过 OAuth 2.0 进行身份验证来订阅。
  2. 您的服务确定用户的位置。
  3. 您的服务会搜索该营业地点附近的宠物店。
  4. 您的服务会在时钟左侧插入一张卡片,其中列出了这些附近的宠物店。
  5. Glass 会通知您的服务用户的位置信息。
  6. 对于每条通知,您的服务都会重复搜索宠物店,并更新固定的卡片以反映距离最近的一组新宠物店。

实现此服务遵循以下 API 流程:

附近的宠物店

  1. 您的用户使用 OAuth 2.0 进行授权。除了常规的 glass.timeline 范围外,您的应用还会请求 glass.location 范围的访问权限。
  2. 在 OAuth 2.0 Dance 完成后,您的服务会订阅用户位置的更新。
  3. 接下来,您的服务会从营业地点端点提取用户的最新位置信息。
  4. 您的服务会搜索用户附近的宠物店。
  5. 您的服务会创建一个 timeline 卡片,其中列出了宠物店搜索结果。为了让此卡片显示在时钟屏幕的左侧,您的服务会固定此卡片。
  6. 当用户四处走动时,其最新位置信息会更新。
  7. 因为您的服务订阅了位置更新,所以会向您的服务发送通知。此通知链接到“location”集合中的“latest”项。
  8. 您的服务根据通知从 location 集合中提取用户的 latest location
  9. 接下来,您的服务会搜索用户附近的宠物店。
  10. 最后,您的服务使用 patch 方法更新在第 5 步中插入的时间轴项的正文。