I want to connect DialogFlow to Google SpreadSheet - node.js

I was going to send the info obtained from dialogflow bot to my google spreadsheet to save and reuse them.
I tried use fullfillment in DialogFlow. I logged in SheetSu which provides the API for google spreadsheet and got API from that site(sheetsu.com).
and then i'm embarrased with that API in fullullment in DialogFlow.
Is there any better way?

Yes, you can use the Google Sheets API directly. This will likely require you to go through Google Sign In for Assistant to get an access/refresh token.
(If you just want voice commands for Sheets, Actions such as Vodo Drive are working on the issue.)

Related

Send a Google Chat message from a regular account (not a bot)?

I'm trying to send a notification out using Google Chats. But I have a few problems with the documentation I've been able to find:
It requires me to have a paid service account, which I do not have, and will not be getting
It requires using a chat bot, which (in my understanding) needs to be added to a room, and cannot just send out messages
Chat bots can't send out messages directly to personal accounts?
I'm already using Google OAuth2 authentication to access another Google API, so I'd like to use a Google API to send messages directly from the authenticated account. How would I do that?
So far:
All the documentation I can find is about making a chat bot.
I've considered some alternatives to sending out messages, but due to corporate device restrictions that will not be changing, google chats is my best option.
At the moment what you're trying to do is not possible, for multiple reasons.
You may know this already, but Google Chat is an upgrade to their old "Classic Hangouts" chat. In Google's own words, this is focused on enterprise (i.e. paid) accounts. While personal accounts are also able to upgrade and get some of the benefits, their documentation shows that Google Chat for personal accounts is very similar to the old Hangouts and most of the new features are meant for the paid accounts. This also includes the use of bots.
As you've observed, the Chat API currently only has methods to create and manage bots. There are no methods to send messages as your own account. This could be to prevent spam or because their Chat API is relatively new, since the Classic Hangouts did not have an API, and Chat hasn't fully replaced it yet. Even then, given that Chat is "enterprise-focused", it is uncertain whether or not personal accounts would get access to any new API features.
You could try to post feedback on their issue tracker or request the feature to see if you get a response, but for an immediate solution you may want to just use the Gmail API to send a regular email or reconsider the other alternatives that you had in mind.

Getting API key from API on google Chatbase

I would like to create Chatbase bots for new users/domains automatically.
For example if user has used Google-login and his authorization key is stored and analytics information like website url etc is fetched it would be nice to automatically create a bot for user.
So the question is: is there a possibility to get API-key for new bot programmically on Google Chatbase from API?
Unfortunately it is not possible to programatically create or edit Chatbase API keys.

check identity of multiple users on actions on google

I have successfully implemented google assistant on rpi using gassistpi and added agent on dialogflow also. The issue is that if multiple users invoke google assistant on different raspberry pi I am not able to identify which user has invoked the action as request from webhook on dialogflow doesn't have any user identity information. Thus, I am facing issues while retrieving data for particular user.
I tried using account linking on actions on google using google signup over voice but I am unable to implement that.
The Google Assistant SDK does not have voice match as a feature, so you would be unable to use it to identify individual users of the Action on that surface.
when your webhook is called, you have the ability to store data from every request. For instance look at :
https://developers.google.com/actions/assistant/save-data
That way you can maintain and know each devices session. Even if you don't know the user.

Proper way to use Google Calendar in an Android app?

My application must create events in a user's Google Calendar, however I'm unsure of how to implement this. My app uses Google Sign-in.
I've looked online and there seem to be multiple APIs that Google provides, but I'm not sure which is appropriate For example, do I use the Google Calendar API, the Calendar Provider API, or Google Play Services? Also, can the inserting of events be handled directly on the app, or should it be done on something like a Heroku server?
Any help is greatly appreciated. Thank you!

Intercept fulfillment response

Im using fulfillment to get data from database. And I have integrated my bot with facebook.
And currently I'm customizing db response as per facebook in my api itself and sending it to the dialogflow.
And I want to integrate it with skype too.
Now my question is, can I customise my api response in dialogflow instead of in API. As I want to integrate my bot with multiple platforms so accordingly their response will be formatted as per facebook or skype.
So i will need to create another api for skype too. I want to avoid this.
So I want to get output from my api and format it in dialogflow itself using custom payload. So is it possible to work in this way?
Sure! You get the stored data using your API and then you format the response for the platforms you are going to use. In this example, the payload contains different responses for Google Assistant, Facebook and Slack.
Also, take a look at this NodeJS library which makes easier develop your fulfillment code.

Resources