actions-on-google / dialogflow-name-psychic-nodejs

Permissions and Google Maps Static API sample (using Dialogflow) in Node.js

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Actions on Google: Name Psychic Sample

This sample demonstrates Actions on Google features for use on Google Assistant including permission requests for user information, surface transfer capabilities, user storage, SSML, unrecognized deep link fallbacks, and Google Maps Static API -- using the Node.js client library and deployed on Cloud Functions for Firebase.

Note that if the user is not verified, their information will never be saved across conversations and they will encounter a guest flow (requesting permission) each time.

Enable Billing

Required for running this sample

This sample uses Firebase Cloud Functions to make an HTTP request to Google Maps Static API. If you plan to run the sample, you will need to temporarily upgrade to a Firebase plan that allows for outbound networking, such as the Blaze Plan, also called Pay as you go.

Setup Instructions

Prerequisites

  1. Node.js and NPM
    • We recommend installing using NVM
  2. Install the Firebase CLI
    • We recommend using version 6.5.0, npm install -g firebase-tools@6.5.0
    • Run firebase login with your Google account

Configuration

Actions Console

  1. From the Actions on Google Console, New project (this will become your Project ID) > Create project > under More options > Conversational
  2. From the top menu under Develop > Actions (left nav) > Add your first action > BUILD (this will bring you to the Dialogflow console) > Select language and time zone > CREATE.
  3. In the Dialogflow console, go to Settings ⚙ > Export and Import > Restore from zip using the agent.zip in this sample's directory.

Cloud Platform Console

  1. From the Dialogflow console > go to Settings ⚙ and under the General tab > go the Project Id link, which will take you to the Google Cloud Platform console
  2. In the Cloud console, go to Menu ☰ > APIs & Services > Library
  3. Select select Maps Static API > Enable
  4. Under Menu ☰ > APIs & Services > Credentials > Create Credentials > API Key and copy the key.

Firebase Deployment

  1. On your local machine, in the functions directory, run npm install
  2. Run firebase deploy --project {PROJECT_ID}, replace {PROJECT_ID} to deploy the function
  3. Run firebase functions:config:set maps.key={API_KEY} --project {PROJECT_ID}, replace {API_KEY} with the generated API key from earlier and redeploy the function.
    • To find your Project ID: In Dialogflow console under Settings ⚙ > General tab > Project ID.
  4. Return to the Dialogflow Console > select Fulfillment > Enable Webhook > Set URL to the Function URL that was returned after the deploy command > SAVE.
    Function URL (dialogflowFirebaseFulfillment): https://${REGION}-${PROJECT_ID}.cloudfunctions.net/dialogflowFirebaseFulfillment
    
  5. From the left navigation menu, select Integrations > Integration Settings under Google Assistant > Enable Auto-preview changes > Test to open the Actions on Google simulator then say or type Talk to my test app.

Running this Sample

  • You can test your Action on any Google Assistant-enabled device on which the Assistant is signed into the same account used to create this project. Just say or type, “OK Google, talk to my test app”.
  • You can also use the Actions on Google Console simulator to test most features and preview on-device behavior.

References & Issues

Make Contributions

Please read and follow the steps in the CONTRIBUTING.md.

License

See LICENSE.

Terms

Your use of this sample is subject to, and by using or downloading the sample files you agree to comply with, the Google APIs Terms of Service.

About

Permissions and Google Maps Static API sample (using Dialogflow) in Node.js

License:Apache License 2.0


Languages

Language:JavaScript 100.0%