Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/actions-on-google/dialogflow-name-psychic-nodejs
Permissions and Google Maps Static API sample (using Dialogflow) in Node.js
https://github.com/actions-on-google/dialogflow-name-psychic-nodejs
Last synced: 3 months ago
JSON representation
Permissions and Google Maps Static API sample (using Dialogflow) in Node.js
- Host: GitHub
- URL: https://github.com/actions-on-google/dialogflow-name-psychic-nodejs
- Owner: actions-on-google
- License: apache-2.0
- Created: 2016-12-08T16:15:42.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-10-17T21:19:49.000Z (about 5 years ago)
- Last Synced: 2024-04-27T05:32:55.378Z (7 months ago)
- Language: JavaScript
- Homepage:
- Size: 96.7 KB
- Stars: 47
- Watchers: 12
- Forks: 29
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-actions-on-google - (Node.js) - on-google/dialogflow-name-psychic-java) - Permissions and Google Maps Static API sample (using Dialogflow). (Open source code)
README
# Actions on Google: Name Psychic Sample
This sample demonstrates Actions on Google features for use on Google Assistant including permission requests for [user information](https://developers.google.com/assistant/conversational/helpers#user_information), [surface transfer capabilities](https://developers.google.com/assistant/conversational/surface-capabilities#multi-surface_conversations), user storage, SSML, unrecognized deep link fallbacks, and Google Maps Static API -- using the [Node.js client library](https://github.com/actions-on-google/actions-on-google-nodejs) and deployed on [Cloud Functions for Firebase](https://firebase.google.com/docs/functions/).
Note that if the user is not [verified](https://developers.google.com/assistant/conversational/save-data#determining_and_handling_user_verification_status), 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](https://firebase.google.com/pricing/), also called Pay as you go.
## Setup Instructions
### Prerequisites
1. Node.js and NPM
+ We recommend installing using [NVM](https://github.com/creationix/nvm)
1. Install the [Firebase CLI](https://developers.google.com/assistant/actions/dialogflow/deploy-fulfillment)
+ We recommend using version 6.5.0, `npm install -g [email protected]`
+ Run `firebase login` with your Google account### Configuration
#### Actions Console
1. From the [Actions on Google Console](https://console.actions.google.com/), New project (this will become your *Project ID*) > **Create project** > under **More options** > **Conversational**
1. 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**.
1. 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](https://console.dialogflow.com) > go to **Settings** ⚙ and under the `General` tab > go the `Project Id` link, which will take you to the **Google Cloud Platform** console
1. In the Cloud console, go to **Menu ☰** > **APIs & Services** > **Library**
1. Select select **Maps Static API** > **Enable**
1. 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`
1. Run `firebase deploy --project {PROJECT_ID}`, replace `{PROJECT_ID}` to deploy the function
1. 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](https://console.dialogflow.com/) under **Settings** ⚙ > **General** tab > **Project ID**.
1. Return to the [Dialogflow Console](https://console.dialogflow.com) > 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
```
1. 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
+ Questions? Go to [StackOverflow](https://stackoverflow.com/questions/tagged/actions-on-google), [Assistant Developer Community on Reddit](https://www.reddit.com/r/GoogleAssistantDev/) or [Support](https://developers.google.com/assistant/support).
+ For bugs, please report an issue on Github.
+ Actions on Google [Documentation](https://developers.google.com/assistant)
+ Actions on Google [Codelabs](https://codelabs.developers.google.com/?cat=Assistant)
+ [Webhook Boilerplate Template](https://github.com/actions-on-google/dialogflow-webhook-boilerplate-nodejs) for Actions on Google
+ To learn more about [Google Maps Static API Billing](https://developers.google.com/maps/documentation/maps-static/usage-and-billing).## Make Contributions
Please read and follow the steps in the [CONTRIBUTING.md](CONTRIBUTING.md).## License
See [LICENSE](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](https://developers.google.com/terms/).