针对python的Google实现端点的操作

2024-05-08 13:30:25 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用python创建实现函数?在

{a1}用于文档^节点.js使用fulfillment hosting的Firebase云函数。Actions SDK在这里使用。在

下面的示例代码简单地调用应用程序并模拟用户所说的第一个语音。在

'use strict';

const ActionsSdkApp = require('actions-on-google').ActionsSdkApp;
const functions = require('firebase-functions');

exports.analizeInput= (req, res) => {
    const app = new ActionsSdkApp({request: req, response: res});

    // Create functions to handle requests here

    function handleMainIntent() {
        let inputPrompt = app.buildInputPrompt(false, 'This is <app-name>');
        app.ask(inputPrompt);
    }
    function handleTextIntent() {
        app.tell("you said, " + app.getRawInput());
    }

    let actionMap = new Map();
    actionMap.set(app.StandardIntents.MAIN, handleMainIntent);
    actionMap.set(app.StandardIntents.TEXT, handleTextIntent);
    app.handleRequest(actionMap);
} 

代码使用节点.js完整终结点中的语言。其他语言也可以使用。但是,没有关于如何使用其他语言设置实现端点的可用资源。我想知道如何使用python创建一个像上面这样的简单程序。在

^{pr2}$

这是我使用Heroku设置和部署的简单REST端点。据我所知,如果使用的语言不是JSON,则使用JSON节点.js如“示例代码”部分here。然而,我被困在如何处理请求、给出响应以及设置与googleassistant相关的意图等方面。我也不知道该把文档中建议的JSON放在哪里。我一开始都不知道怎么开始。如果你能先发制人,我将不胜感激。在

谢谢你


Tags: 函数代码文档语言jsonapp示例节点
3条回答

https://dialogflow.com/docs/fulfillment

你需要返回一个JSON

{
    "speech": "Hello!",
    "displayText": "Hello!"
}

基本上,您正在构建一个API,它在JSON请求中接收值。然后您将需要解析它并返回一个JSON响应。正如William所说,在Node中创建一个版本可以让您看到请求。您还可以使用Google控制台模拟器上的操作来查看请求。在

签出the documentation of Actions SDK可以让您看到原始请求和响应。据我所知,没有一个很好的Python示例,所以您可能需要构建一个已经存在于的示例节点.JS然后把它移植过来。在

转到控制台.actions.google.com来创建项目。现在选择SDK选项,而不是Dialog Flow或其他NLU,我忘记了它的名字。在

假设你熟悉Node,你可以去这里

https://github.com/unclewill/parrot

去拿我的“鹦鹉”样本。这是一个很小的动作,它只是重复你所说的话。它唯一的优点是大约有50行。用包管理器-npm安装它。在

然后下载ngrok

https://ngrok.com/download

这个工具将通过从web到开发机器的反向代理来创建一个“隧道”。下载后,在命令行键入

ngrok http 8080

这实际上会给你的机器一个可公开寻址和安全的ish(即https)地址,Google平台上的操作最终将用来与Python端点和我的parrot示例进行通信。在

查看它分配给您的机器的地址,然后编辑操作包(文件action.json操作)这样你找到的https地址就被ngrok替换了

看看文件更新.cmd以及测试命令. 前者是用来通知谷歌你行动计划的新地址。后者将其置于测试模式。在这两者中编辑项目名称,以匹配您在操作控制台中获得的项目名称。在

运行文件更新.cmd. 在Windows上,你只需运行文件。在'nix上,首先用chmod+x将模式更改为executable,或者您可以复制文本并粘贴到命令行中。进入操作控制台,点击“测试”按钮打开模拟器。返回到命令行并运行该文件测试命令. 在

在节点中运行示例

节点应用程序

如果一切顺利,您就有一个本地运行的操作和一个从web到它的隧道。在模拟器中输入一些文本。动作应该“鹦鹉学舌”给你。在

现在看看运行ngrok的shell/terminal/command窗口。它将列出本地主机上的一个端点(或者我忘记了127.0.0.1)。在浏览器中输入该地址,您将看到从操作到操作的JSON有效负载。在

你的任务是在Python中复制它。在

(我不做Python,但如果没有人移植客户机库,我会感到惊讶)

相关问题 更多 >