Retrieving userdata directly after user completes acount linking on their phone - node.js

I'm building an application using Accountlinking for a Google Home speaker using the Actions On Google SDK. I am using the Oauth feature which allows a user to sign-in into an account on their phone by sending them a link with a login window.
When the sign-in is triggered, the conversation on the Google speaker is ended. I would like to use some user information that comes from the accountlinking process right after the user is done with the accountlinking.
When you build a conversation for assistant on mobile, you can await the actions.intent.SIGN_IN event to continue the conversation, but even when you implement this, a conversation for the speaker will end.
Is there any way to use user information directly after a user linked
their account for a Google Home speaker app without users having to restart the conversation?

Once the user has to jump to the phone to perform account linking, the conversation on the speaker ends since the context has shifted devices. After account linking finishes, you could try to transfer to a new surface, although you will not necessarily have the ability to go back to the original device.

Related

DialogFlow Manual Handover to Facebook Messenger

I've successfully setup a DialogFlow bot which integrates with Facebook Messenger.
Is it possible for a human user to log into the Facebook Messenger inbox and take manual control over the conversation?
When I log into the Facebook Messenger inbox I've been unable to stop the bot from replying to the user and as a result it ends up being a 3 way conversation between me, the user and the bot.
This usecases makes sense but is not well documented. Facebook mentions this in the handover protocol documentation:
Taking Thread Control From Facebook Page Inbox
For Messenger experiences that enable live chat via Facebook Page Inbox, the handover protocol allows the Page admin to manually initiate a take thread control event by moving the conversation from 'Done' to the 'Inbox'. It is important to note that the thread would immediately be passed to Facebook Page Inbox irrespective of the current app’s role.
I guess this is what you need.
What you need to do is this:
Find the conversation you want to manual control
Check 'Move to Done'
FInd the conversation again by adding the 'done'-filter
Click the Move to Main button (the envelop in the top right
corner)
Remove the 'done' filter to find the conversation
from now on, the inbox has control and your chatbot will not respond if the user types a message. You will be the only one responding
If you need the chatbot to manage the conversation again, just click on the Move to Done-checkmark and the chatbot has control again.
Ps: the documentation also suggests you to subscribe to two webhooks (Standby and messaging-handovers). To be honest: for me it worked with and without subscribing to these webhooks

Continuing a conversation after account linking using google in dialogflow

In google dialogflow using node js , i have used the account linking feature to store user data into the database. After the signin intent, i want to trigger welcome intent or any other intent. Now its getting signed in and nothing happens after that.How to trigger the next intent without getting response from the user? Now its getting signed in and nothing happens after that. What am i doing wrong?
If you wish to continue the conversation after a sign-in has been completed have a look at the sign-in helper. This will allows you to create an intent with the event for sign-in and it will allow you to continue the conversation.
If you handover from a speaker to a phone your conversation will always end, the user will have to sign-in and restart the conversation if you use that.

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.

How to get user's voice to be used as biometric voice identification in Dialogflow

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.

What draw the borderline of abusive use of Facebook Chat API

The facebook chat api is a power tool. From a purely technically point of view, it definitely does more than its predecessor of private messages in the Graph API.
This brings up a question of where Facebook is drawing the line of abuse of its chat api.
So here's how I'm planning to use the Facebook chat api for my app.
The app is an event planning app that lets users invite their friends to an event. Other than sending SMS, and emails to notify the guests, the most reliable way is to send invitations through the list of facebook friends. And let's face it, sometimes you may not have the person's phone number in your contact book, and you definitely don't remember most of their emails, so facebook is your only source for reaching them.
So I need a solution to send invitations to the guests. Here are my requirements and conditions:
The guest is a facebook friend of the user
There's no way of obtaining the guest's email (unless the user enters it) or phone number (ie. sms is not an option)
Each guest must receive a link that is unique to him/her
No one else should be able to obtain this link (ie. the message shouldn't be seen publicly)
It must not require the user's interaction to send these invitations (imagine having the user confirm a facebook post 10 times for the 10 facebook friends he's inviting). The invitation must be sent automatically.
Here's the obstacle. Facebook had revoked the functionality to send private message recently (I was able to have my facebook friends send me private messages via an app just over a month ago, not anymore). However, I discover that I could do so using Facebook Chat API.
This seems to be a grey area, my app is using the chat api for the sole purpose of helping the users notify their friends of their event invitation. There's no intention of abuse (such as mass messaging everyone of the user's friends with a link to my APP/website). Is Facebook going to hunt me down and revoke my App's privilege to use Facebook's API?
Can anyone shed some light on whether my intended usage of the API is an abuse or is it legitimate? If it is not legitimate, what are your suggestions.
I'd recommend using core functionality wherever possible here. For example, you could utilise the Facebook 'Event' object and the Graph API to create invite-only events and to invite individual friends of your app's users. This would deliver the same functionality without the need for nonce-based invite URLs and possible misuse of the Chat API. Take a look at https://developers.facebook.com/docs/reference/api/event/#invited for details.

Resources