Miz*_*lul 6 javascript google-cloud-datastore google-cloud-platform dialogflow-es
我在 DialogFlow 的官方网站上使用 Node.js 找到了这个示例,它运行良好,但我不知道如何将其集成到我的 Web 应用程序中。
我可以将它集成到我的其他 javascript jquery 代码中吗?在这里我需要运行 node index.js 但如果我与我的代码集成,我还需要这样做吗?
const projectId = 'xxx'; //https://dialogflow.com/docs/agents#settings
const sessionId = 'xxxxx';
const query = 'Hello';
const languageCode = 'en-US';
// Instantiate a DialogFlow client.
const dialogflow = require('dialogflow');
const sessionClient = new dialogflow.SessionsClient();
// Define session path
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
console.log(sessionPath);
// The text query request.
const request = {
session: sessionPath,
queryInput: {
text: {
text: query,
languageCode: languageCode,
},
},
};
// Send request and log result
sessionClient
.detectIntent(request)
.then(responses => {
console.log('Detected intent');
const result = responses[0].queryResult;
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if (result.intent) {
console.log(` Intent: ${result.intent.displayName}`);
} else {
console.log(` No intent matched.`);
}
})
.catch(err => {
console.error('ERROR:', err);
});
Run Code Online (Sandbox Code Playgroud)
是否有任何替代方法可以让我们使用普通的 javascript jquery、ajax 来使用 DialogFlow v2,而无需每次我想使用 dialogflow 时都执行 node index.js。
DialogFlow v1 使用起来非常简单。我有这样的事情:
fetch(url, {
body: JSON.stringify(data),
// cache: 'no-cache',
// credentials: 'same-origin',
headers: {
'content-type': 'application/json',
"Authorization": "Bearer " + configs.accessToken,
},
method: 'POST',
mode: 'cors',
redirect: 'follow',
referrer: 'no-referrer',
})
.then(response => response.json()) // parses response to JSON
Run Code Online (Sandbox Code Playgroud)
您可以轻松地detectIntent从 jQuery 调用 Dialogflow 的 V2 API 端点。
API文档显示了 URL 和请求格式:
POST https://dialogflow.googleapis.com/v2/{session=projects/*/agent/sessions/*}:detectIntent
{
"queryParams": {
object(QueryParameters)
},
"queryInput": {
object(QueryInput)
},
"inputAudio": string
}
Run Code Online (Sandbox Code Playgroud)
身份验证的工作方式略有不同;您将使用云仪表板创建服务帐户和密钥,而不是使用访问令牌。本文档页面解释了如何操作。
| 归档时间: |
|
| 查看次数: |
7785 次 |
| 最近记录: |