编辑:经过囚犯的下面的优秀答案后,我要留下谦卑和搜索后代的问题,但请注意我在形成问题时犯了一个错误。我误解了一条背景文档 - 支持每张卡的多个菜单项。
我正在尝试将固定卡放入固定组(家庭卡的左侧)并让用户选择它并提交回复。应用程序的想法是,这允许用户向web应用程序提交命令,然后Web应用程序处理该命令并将响应卡发送给用户。
我已经完成了从我的应用程序中了解我can't set isPinned to true directly的研究,而不是必须由用户通过menuItem完成。我有那个工作。例如,这可以让用户固定我的卡:
{
"text": "Test pinnable card",
"menuItems": [
{
"action": "TOGGLE_PINNED",
"values": [{
"displayName": "Pin Card",
"iconUrl": "https://<Graphics URL>"
}]
}
]
}
这是有效的,到达我的玻璃就好了,我可以固定并解开它没问题。
但是一旦我将menuItem设置为允许用户固定卡,有没有办法让用户回复?根据{{3}},每张卡只能有一个menuItem。这似乎意味着任何固定卡都不能有菜单项,因此没有回复功能(至少我不知道另一种回复方式)。
我非常想让用户选择卡并发送语音回复。我可以使用这个menuItem在 所以问题基本上是否有人知道如何将两个menuItem加载到卡上或以某种方式添加或交换以在卡固定后应用第二个menuItem。我的猜测是,我无法在固定后替换menuItem,或者它可能被滥用来制作用户无法取消固定的卡片,但是使任何固定卡片没有动作似乎也没用。 如果有“显而易见”的解决方法,我很抱歉,我从想法中找到了答案。 我有玻璃,在AppEngine上运行Glassware,可以测试人们的任何理论。这似乎是对玻璃器皿的一个非常基本的需求,它将被大量使用。对于那些好奇的人,我正在研究企业文档排序和数据查找应用程序。 "menuItems": [
{
"action": "REPLY",
"values": [
{
"displayName": "Search",
"iconUrl": "https:<Graphics URL>"
}
]
}
答案 0 :(得分:2)
一些事情。
首先,您引用的答案并未说每张卡只能有一个menuItem。它说的是每组htmlPages只能有一个菜单,这意味着每张卡必须有相同的菜单。 HtmlPages现在已被弃用,转而支持拆分的HTML,部分原因是该问题存在混淆。
其次,menuItems设置中绝对可以有多个项目。因此,数组的复数和使用。 :)
第三,看起来您正在尝试为不采用值的卡操作设置“值”(TOGGLE_PINNED和REPLY)。只有CUSTOM操作才需要值。
第四,确保为REPLY类型设置了“创建者”。
有关详细信息,请参阅https://developers.google.com/glass/v1/reference/timeline/insert,但一般而言,您需要做的是将menuItems字段设置为数组,数组中的每个元素都有不同的操作。您还需要设置回复的创建者字段。所以这样的事情应该有效(虽然我没有测试过这个特定的):
{ "text": "Test pinnable card", "creator": { "id": "harold" "displayName": "Harold Penguin", "imageUrls": ["https://developers.google.com/glass/images/harold.jpg"] }, "menuItems": [ { "action": "TOGGLE_PINNED" },{ "action": "REPLY" },{ "action": "CUSTOM", "values": [ { "displayName": "Search", "iconUrl": "https:" } ] } ] }
最后,您可能希望重新考虑使用固定卡来执行此操作。这种方法可以追溯到一种非常以应用为中心的做事方式,这与Glass倾向于如何工作有些相反。如果要添加语音命令,请考虑注册可以接受命令的联系人。有关详细信息,请参阅https://developers.google.com/glass/v1/reference/contacts。