Dialogflow 节点 SDK 权限失败 (dialogflow.sessions.detectIntent)
Dialogflow Node SDK permission fail (dialogflow.sessions.detectIntent)
我遇到了 Node DialogFlow API 集成的问题。
我没有必要的权限来调用 API,尽管我已经遵循了所有可能的文档。
这是我在 Dialogflow 管理员中的代理服务帐户:
然后是服务帐户角色:
"Client de l'API Dialogflow"角色的详细信息,在这里我们可以看到"dialogflow.sessions.detectIntent":
最后,下载与服务帐户对应的 JSON 文件后的节点错误:
我是不是漏掉了什么?
我尝试生成其他 JSON 文件,创建其他服务帐户,但没有任何效果...
Node脚本很简单,直接从官方教程贴过来:
const projectId = 'newagent-9e77e '; //https://dialogflow.com/docs/agents#settings
const sessionId = 'quickstart-session-id';
const query = 'bonjour';
const languageCode = 'fr-FR';
// Instantiate a DialogFlow client.
const dialogflow = require('dialogflow');
const sessionClient = new dialogflow.SessionsClient();
// Define session path
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
// 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);
});
谢谢!
问题出在 space "projectId" 常量上。
真丢脸。
我遇到了 Node DialogFlow API 集成的问题。
我没有必要的权限来调用 API,尽管我已经遵循了所有可能的文档。
这是我在 Dialogflow 管理员中的代理服务帐户:
"Client de l'API Dialogflow"角色的详细信息,在这里我们可以看到"dialogflow.sessions.detectIntent":
最后,下载与服务帐户对应的 JSON 文件后的节点错误:
我是不是漏掉了什么?
我尝试生成其他 JSON 文件,创建其他服务帐户,但没有任何效果...
Node脚本很简单,直接从官方教程贴过来:
const projectId = 'newagent-9e77e '; //https://dialogflow.com/docs/agents#settings
const sessionId = 'quickstart-session-id';
const query = 'bonjour';
const languageCode = 'fr-FR';
// Instantiate a DialogFlow client.
const dialogflow = require('dialogflow');
const sessionClient = new dialogflow.SessionsClient();
// Define session path
const sessionPath = sessionClient.sessionPath(projectId, sessionId);
// 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);
});
谢谢!
问题出在 space "projectId" 常量上。 真丢脸。