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.
Related
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.
I have built a google assistant agent with DialogFlow. I plan to use it as a chatbot. It works rather well as it calls my webhook page. The problem is that I need an id to differentate users. Unfortunately There is no such id in the json I receive in my webhook.
I try to follow the instructions of https://developers.google.com/assistant/identity/google-sign-in#configure_the_project , to receive this id in the webhook . But the process mentions the creation of a scene and unfortunately I can not do this with the version of my Actions Console: It does not have a menu to manage scenes.
Does anybody know how to solve this ? or more generally to get the id of the user or of the device in the webhook ?
I'm trying to build an ecosystem where users uses its voice as biometric registration, that implies to get access to user's voice in order to be checked by biometric processes.
Does any body know how can I build that functionality using Dialogflow? How can I get the voice recording?
Regards.
For security reasons, Google does not provide the audio from a user to Actions. Users can get this through their activity log, but Actions cannot.
However, if you want this for identity purposes, Google is already doing this. If a user has enabled Voice Match on their Google devices, then you can either use Account Linking with Google Sign In to get the user's Google ID with their permission, or you can put a token of some sort in the user storage to determine when the same user has returned in the future.
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.)
Is there any way to get notification when user initiates new call in gmail via google talk or hangout? The purpose to track it is to extract extension which user wants to call and initiate call using third-party application instead of google services.
I checked google talk API and hangout API but haven't found any similiar to that.