Node DialogFlow API 統合で問題が発生しました。
考えられるすべてのドキュメントに従っていますが、API を呼び出すために必要なアクセス許可を取得できません。
Dialogflow admin からのエージェント サービス アカウントは次のとおりです。
「Client de l'API Dialogflow」ロールの詳細。「dialogflow.sessions.detectIntent」が表示されます。
最後に、サービス アカウントに対応する JSON ファイルをダウンロードした後の Node エラー:
何か不足していますか?
他の 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);
});
ありがとう !