谷歌眼镜Mirror API开发指南之Contacts

原文地址:http://bbs.seacat.cn/thread-885-1-2.html




联系

联系可以是人或Glassware,用户可以分享timelineitem。默认情况下,Glassware不能访问时间表并没有创建的项目。允许用户通过Glassware分享timelineitem,即使timelineitem并没有创建。


下面有两种方法,你的Glassware可以使用contant:

允许用户与其他用户分享你的timeline items添加分享内置菜单项到时间轴卡片。当用户点击分享菜单项、谷歌眼镜显示的列表可能分享给联系人。有关更多信息,请参见开发人员指南 menuitems如何添加内置菜单项。
允许用户通过你的Glassware共享timeline item:创建一个代表你的Glassware。当用户想要分享一个时间轴卡片,你的联系人可以作为一个选项。你也可以声明一个可接受的MIME类型列表( acceptable MIME types,这样你的联系人只出现您感兴趣的卡片。当用户共享一个时间轴卡片你会得到通知,你可以订阅timeline通知。


创建一个contact


允许用户通过你的Glassware来分享timelineitems,插入一个contact通过post一段jsonJSON representation of a contact)给插入的REST端点(insert REST endpoint.
所有的联系人都必须指定一个id。用来在Glassware接收通知时识别。你还必须指定一个displayName和至少一个imageUrl,好在谷歌眼镜上显示联系人的信息给用户。

注意:为达到最佳效果,imageUrl使用PNG的图像,背景色要透明,分辨率是640x360.

Raw HTTP


[plain] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. POST /mirror/v1/contacts HTTP/1.1  

  2. Authorization: Bearer {auth token}  

  3. Content-Type: application/json  

  4. Content-Length: {length}  

  5. {  

  6.  "id": "harold"  

  7.  "displayName": "Harold Penguin",  

  8.  "iconUrl": "https://developers.google.com/glass/images/harold.jpg"  

  9.  "priority": 7  

  10. }  





可以从共享timeline itemsshared timelineitems)来获取更多的关于如何处理通知的资料。

分享是如何工作的

一旦你创建一个共享contact,分享时间轴卡片一般遵守这个流程

1.用户滑动时间轴项,选择共享菜单项,选择你的联系人
2MirrorAPI创建一个共享时间轴卡片的副本,给你联系人访问,并将副本插入用户的timeline。你的Glassware不能访问原始的时间轴卡片
3.如果你订阅了分享通知(subscribed to share notifications),你会收到一个包含时间轴卡片的识别信息,你可以通过Timeline.get方法来检索timelineitem
4.你通过Timeline.update方法来更新共享时间轴卡片和现有的时间轴卡片。


注意:你应该为你的Glassware添加识别品牌来区分从最初的timeline item复制过来的timeline item。用更新复制的timeline item的方式来代替插入一个新的timeline item
下面的屏幕截图展示了在谷歌眼镜上如何分享联系人




234503c20868f566cfov75.png

234504f200z294x04uztva.jpg


234504u6b5kfhhkpkpwmpc.jpg


加标题分享照片



用户有可能会通过Glassware分享照片并插入一篇演讲的标题。一般通过下面这几步:

1.  用户轻触一项包含照片的timeline item,选择共享菜单项。接着选择联系人

2.  用户在短时间内轻触这张照片来给它添加一个标题

3.  用户说出标题

4.  Timeline item和你的Glassware开始共享工作,就像之前描述的那样。此外,timeline item的文本(text)属性会把用户说的话转录成标题。

声明语音菜单命令

你可以让用户在菜单插入语音命令“ok glass”通过你的Contact来共享timeline item。触发后,语音命令会通过你的contact来共享timeline item还包括转录用户的演讲,你可以为你的contact声明下面的语音命令:

・      ~  "take a note"

・      ~  "post an update"

注意:请求支持其他的语音指令,建议填写一个语音命令表单(Suggest a GlassVoice Command form

使用语音命令,指定接收指令(acceptCommands属性与适当的类型


[plain] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. {  

  2.  ...  

  3.  "displayName": "Cat Stream",  

  4.  "id": "CAT_STREAM",  

  5.  "acceptCommands": [  

  6.    {"type": "POST_AN_UPDATE"}  

  7.  ]  

  8. }  





上面的例子更新你的用户的语音菜单包括“post an update”命令

234505kmyuymhyjsu1hb1j.png


如果不止一个Glassware注册一个相同的语音命令,谷歌眼镜会通过二级菜单来显示每个contactdisplayName。用户可以说话来连接他们的选择,如果你的contact 显示在屏幕上名字包含不能发音的字符或者不是语音,说出谐音来使用你的分享交流。
例如:一个用户可能会在chipotle生日到来是时候说,ok glasspost an update to  cat stream chipotle’s birthday is tomorrow.

234505tlcckp8kjbp8glk2.png

5.png(17.69 KB, 下载次数: 0)

下载附件保存到相册

2013-12-31 23:45 上传


如果你的Glassware订阅了timeline通知,Mirror API会推送一个通知



[plain] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. {  

  2.  "collection": "timeline",  

  3.  "operation": "UPDATE",  

  4.  "userToken": "<USER_TOKEN>",  

  5.  "verifyToken": "<VERIFY_TOKEN>",  

  6.  "itemId": "<ITEM_ID>",  

  7.  "userActions": [  

  8.    {"type": "LAUNCH"}  

  9.  ]  

  10. }  




然后,您可以使用itemId获取timeline的值


[plain] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. {  

  2.  "id": "<ITEM_ID>",  

  3.  "text": "Chipotle's birthday is tomorrow",  

  4.  "recipients": [  

  5.    {"id": "CAT_STREAM"}  

  6.  ]  

  7. }  





与媒体分享,你应该修改共享时间轴卡片和通过 Timeline.update.方法来更新现有的时间轴卡片。


你可能感兴趣的:(开发,谷歌,联系人,时间表,contact)