我应该如何使用 C++ 创建 Google 操作实现端点?
How should I create Google Action fulfilment endpoint with C++?
我刚开始使用 Google Action,我想开发一个动作,使用语音控制在 PC/Mobile 和 Google 主页上流式传输我的 raspberry pi IP 摄像机视频。我已阅读 Google Action SDK 操作页面上的指南
, https://developers.google.com/actions/sdk/。但是,我卡在了履行部分。
如何使用 C++ 创建履行端点?
这是否意味着我需要在服务器端设置 RESTful API 来处理请求?它是否使用 POST/GET 请求 JSON?
使用操作包示例,我的履行端点将如何处理 actions.intent.MAIN 和 com.example.sekai.BUY?
"actions": [
{
"name": "MAIN",
"intent": {
"name": "actions.intent.MAIN"
},
"fulfillment": {
"conversationName": "sekai-app"
}
},
{
"name": "BUY",
"intent": {
"name": "com.example.sekai.BUY",
"parameters": [{
"name": "color",
"type": "SchemaOrg_Color"
}],
"trigger": {
"queryPatterns": [
"find some $SchemaOrg_Color:color sneakers",
"buy some blue suede shoes",
"get running shoes"
]
}
},
该指南展示了如何使用他们的 NodeJS 库
app.intent('actions.intent.TEXT', handleTextIntent);
app.intent('actions.intent.MAIN', handleMaiIntent);
我看到大部分教程和库都使用 Nodejs,但是,我希望它包含我现有的使用 C++ 的服务器。谢谢你的帮助。
您不需要 REST API。
您做需要能够接收(和解码)POST和JSON body at a public HTTPS web endpoint and to reply with JSON。
JSON 的详细格式更广泛(它们可以包含更多字段,具体取决于场景),但 request 可能看起来像这样:
{
"user": {
"userId": "wCBxFjVLK8I+nxIXfFOHEf/iAvvaTFuzUdBw6Gv5K3Q="
},
"conversation": {
"conversationId": "1494709404186",
"type": "NEW"
},
"inputs": [
{
"intent": "actions.intent.MAIN",
"rawInputs": [
{
"inputType": "KEYBOARD",
"query": "talk to my test app"
}
]
}
],
"surface": {
"capabilities": [
{
"name": "actions.capability.AUDIO_OUTPUT"
},
{
"name": "actions.capability.SCREEN_OUTPUT"
}
]
}
}
你需要respond这样的东西
{
"conversationToken": "{\"state\":null,\"data\":{}}",
"expectUserResponse": true,
"expectedInputs": [
{
"inputPrompt": {
"richInitialPrompt": {
"items": [
{
"simpleResponse": {
"textToSpeech": "Howdy! I can tell you fun facts about almost any number, like 42. What do you have in mind?",
"displayText": "Howdy! I can tell you fun facts about almost any number. What do you have in mind?"
}
}
],
"suggestions": []
}
},
"possibleIntents": [
{
"intent": "actions.intent.TEXT"
}
]
}
]
}
我刚开始使用 Google Action,我想开发一个动作,使用语音控制在 PC/Mobile 和 Google 主页上流式传输我的 raspberry pi IP 摄像机视频。我已阅读 Google Action SDK 操作页面上的指南 , https://developers.google.com/actions/sdk/。但是,我卡在了履行部分。
如何使用 C++ 创建履行端点?
这是否意味着我需要在服务器端设置 RESTful API 来处理请求?它是否使用 POST/GET 请求 JSON?
使用操作包示例,我的履行端点将如何处理 actions.intent.MAIN 和 com.example.sekai.BUY?
"actions": [
{
"name": "MAIN",
"intent": {
"name": "actions.intent.MAIN"
},
"fulfillment": {
"conversationName": "sekai-app"
}
},
{
"name": "BUY",
"intent": {
"name": "com.example.sekai.BUY",
"parameters": [{
"name": "color",
"type": "SchemaOrg_Color"
}],
"trigger": {
"queryPatterns": [
"find some $SchemaOrg_Color:color sneakers",
"buy some blue suede shoes",
"get running shoes"
]
}
},
该指南展示了如何使用他们的 NodeJS 库
app.intent('actions.intent.TEXT', handleTextIntent);
app.intent('actions.intent.MAIN', handleMaiIntent);
我看到大部分教程和库都使用 Nodejs,但是,我希望它包含我现有的使用 C++ 的服务器。谢谢你的帮助。
您不需要 REST API。
您做需要能够接收(和解码)POST和JSON body at a public HTTPS web endpoint and to reply with JSON。
JSON 的详细格式更广泛(它们可以包含更多字段,具体取决于场景),但 request 可能看起来像这样:
{
"user": {
"userId": "wCBxFjVLK8I+nxIXfFOHEf/iAvvaTFuzUdBw6Gv5K3Q="
},
"conversation": {
"conversationId": "1494709404186",
"type": "NEW"
},
"inputs": [
{
"intent": "actions.intent.MAIN",
"rawInputs": [
{
"inputType": "KEYBOARD",
"query": "talk to my test app"
}
]
}
],
"surface": {
"capabilities": [
{
"name": "actions.capability.AUDIO_OUTPUT"
},
{
"name": "actions.capability.SCREEN_OUTPUT"
}
]
}
}
你需要respond这样的东西
{
"conversationToken": "{\"state\":null,\"data\":{}}",
"expectUserResponse": true,
"expectedInputs": [
{
"inputPrompt": {
"richInitialPrompt": {
"items": [
{
"simpleResponse": {
"textToSpeech": "Howdy! I can tell you fun facts about almost any number, like 42. What do you have in mind?",
"displayText": "Howdy! I can tell you fun facts about almost any number. What do you have in mind?"
}
}
],
"suggestions": []
}
},
"possibleIntents": [
{
"intent": "actions.intent.TEXT"
}
]
}
]
}