是否可以在菜单项的任意字段中指定有效负载?现在,我将它们作为菜单的ID传递(虽然有效但感觉很乱)但是我注意到如果我将它们设置为菜单项的字段,我从未在POST中收到它们:
MenuItem menuItem = new MenuItem()
// ... bunch skipped
.setId("5141...")
.set("eventId", "eventIdGoesHere")
;
以下是我在回调网址中收到的内容:我在有效内容字段中看到了ID,但我在POST正文中看不到任何“eventId”:
body: {
"collection": "timeline",
"itemId": "a11d33c2-32d8-49c7-989e-2b69814e260f",
"operation": "UPDATE",
"userToken": "ya29.1....",
"userActions": [
{
"type": "CUSTOM",
"payload": "5141..."
}
]
}
答案 0 :(得分:2)
您找到了最佳做法 - 菜单项的ID将作为用户操作发送给您时的有效负载返回。该ID是不透明的,因此您可以随意将其设置为您希望解码的任何值。
由于时间轴itemId也会发送给您,您可能还希望将原始时间轴项目上的sourceItemId或其他(已定义)属性设置为可能包含对您有用的信息的值。然后,您可以对该项目执行timeline.get以获取此附加信息。