Search code examples
node.jsdialogflow-es

Dialogflow easy way for authorization


Does exist an easy way to connect Dialogflow agent to node.js code? When I use this code with the correct projectID taken from the Dialogflow agent's settings page, I have the following error:

Error: Unexpected error while acquiring application default credentials: Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information.

const sessionClient = new dialogflow.SessionsClient();
const sessionPath = sessionClient.sessionPath(projectId, sessionId);

I visited the page, but for what I want I think is quite confused (they quotes other API and a lot of setting), how can I solve this?

I want to take informations from a file and loading all without installing third party APIs.


Solution

  • It is not very well documented, but the easiest way to authenticate is using the JSON file provided on your google cloud platform console.

    const sessionClient = new dialogflow.SessionsClient({
        keyFilename: '/path/to/google.json'
    });
    const sessionPath = sessionClient.sessionPath(projectId, sessionId);
    

    This also works for all the other clients. ContextsClients, EntityTypesClient and so on.