I am developing a new google home app. The google action is written in Dialogflow. The web hook is written in node js using JOVO framework. The action requires account linking with OAUTH.
I am trying to simulate and test "first time user" or "new user". In JOVO this is handled with a handler called NEW_USER.
I am looking to create the correct testing conditions so NEW_USER is triggered, unable to do so. Tried the following
1) https://support.google.com/googlehome/answer/7126338?co=GENIE.Platform%3DAndroid&hl=en - this contains a section in Step 2 to unlink the app. This does not work as described , as my action is yet unpublished I do not see it in the section as described, so I cannot unlink it.
2) I go to dialog flow and force a change in some intent - this seams to unlink my account. So now when I open my action "ok google , talk to XYZ" it asks for account linking - however, after account linking it does not go to NEW_USER handler, it seams to remember that I am not a new user.
3) Go to my OAUTH server and logout the user - google assistant still remembers that user is not new user
4) Create a new OAUTH user from google home app while doing account linking - even then NEW_USER is not triggered. The google assistant still remembers and does not treat me as new user.
Is there a way to create conditions to test a new user on google home?
Just a side note, this is easy on Alexa. In Alexa app, if you disable your skill and re-enable it, all previous history is lost and NEW_USER is triggered. So I am able to test "first time user" condition for developing Alexa.
We had success using the account linking URL provided in the Google Assistant Simulator and clicking on "unlink my accounts": https://gala-demo.appspot.com/
Related
I am creating Google Smart Home action of google home. But I have not idea, how to connect the dynamo DB with smart home action but I can see here using with firebase. When I ran the command with invocation name in google assistant then it is showing "something went wrong".
I have enabled the home graph API and also created the JSON key file. I also can see their upload JS file button but don't know, what files should I upload there?
Thank You
It sounds like you are going through the Washer codelab, which is a great first step.
When you are configuring your project in the Actions console, you would need to enter your fulfillment URL from your application (rather than the Firebase URLs shown in the codelab).
You also need to set up an authentication server to enable account linking. Once you've completed this, you should be able to test your Smart Home Action through the Google Home app. Remember that you need to configure the console with your application's URLs for authorization and tokens in place of the demo URLs in the codelab.
The JS upload you are seeing in the console is for local fulfillment applications, which would be a feature to consider adding after you have successfully uploaded and tested your Smart Home Action.
I am developing a custom action for google assistant.
In order to get user data and other user info. I need allow account linking flow.
My Account Linking flow:
Open the Google Assistant app on Android or iPhone.
Say the Action – "Talk to My test app”
Read and agree to the Action Terms and Conditions that appear on the screen.
Sign in with Web app.
Go back to Google assistant and ends linking flow
Everything works properly. But once account linked, I am not able to test the flow again
Could anyone suggest, how to unlink my account and test the above account linking process again? Thanks in advance
During development you can unlink your account via the actions on google console. If you navigate to the test window, you can see a settings button on the top right, click that and a setting pop-up should open. There you should look for an unlink button.
This will unlink your account, so when you restart the conversation for your action with this account, you will be prompted to sign-in again via accountlinking. This also works if you are testing on your phone. You just need to make sure that the account on your phone and the simulator are the same.
I'm working with actions on google and dialogflow, and recently they proposed google signin to make account linking fast without writing own oauth server.
Today I implemented their google signin in my dialogflow app it is working quite fine but unfortunately I am unable to delete that account to check all development aspects, I tried my other google accounts and my friends account but soon ended up out of accounts
Un other methods when i enable and disable testing it forget about linking but in google signin it is tightly stick with the account, and i have tried almost everything i can try like restarting my phone and clearing cache of chrome browser but it looks like it is saving account somewhere in cloud.
What i need to do is, when i sign in first time it ask for name permission, i need that screen again and again for testing something
Google calls this Removing a Website or App that has access to your account. It is done using the myaccount.google.com console.
If you want to do this using Android, the easiest way is to:
Open your device's Settings app Settings app and then Google and then Google Account.
At the top, tap Security.
Under "Signing in to other sites," tap Signing in with Google.
Tap the name of your project.
Choose Remove access.
Through the web, you can go to Apps With Access to your Accounts:
Scroll down to the "Signing in with Google" section
Locate your project.
Select it, and choose "Remove access"
The name that is shown should be the name you've given to your project as part of the OAuth screen. If you haven't set that up (and if you're just playing around, you probably haven't), it will use the Project ID for your project. You can find this on the Cloud Console home screen attached to the same project name that you used in Dialogflow and the Action Console.
While you're in there, you will probably want to configure the OAuth screen to have a name for the app as it will be visible to users on the OAuth screen. From the menu, select "APIs & Services" and then "Credentials"
Select the "OAuth consent screen" tab, and fill in the "Application name".
This name should then be in the list of applications you have installed, and can remove.
Is there any way to logout Or switch the account in actions on google? I am using account linking with Google (OAuth and Google SignIn) I want to do something like this that if the user says "Logout me from this account OR switch to another account", the action should logout him and open the google authentication.
I saw some of the Helpers intent in the documentation but not found any Helper for signout/logout.
Could you please help me that how can I logout the user by saying "logout from account or switch to another account"
Keep in mind that "Account Linking" isn't really logging in. It is connecting the Google Assistant account they're using to the account you use on your system. If you're using just Google Sign In for Assistant, then you just want access to the information about the account they're using.
So "logging out" isn't quite what you're asking to do. In the first case, you want to "unlink" their Assistant account from the account on your system. In the second case, you want to forget who they are.
To do the "unlinking", you can return HTTP code 401 "Unauthorized". This will force the Assistant to discard any tokens they have for the user. Users can also do the unlinking through your directory listing.
Forgetting who they are is more difficult. There is nothing in AoG that does this directly, although you can direct them to a page that calls the sign out method for Google Sign In. They can also do the unlinking through the directory listing or through Google's account management page.
Account linking can be turned off by clicking at that account logo below in case you want to test the intent again and redirected to sign in automatically every time.
presently i am using Google classroom API to integrate in my .net web application.
To create new users i am using Google Directory API.its working fine at the time of creation.But after creating new user when we log in to mail with new user its asking for Verify your identity.
In that window its asking for mobile number verification through text message or Voice call.how can i skip this verification and due to this verification i can't directly add a new course to that new user in my google classroom.so please any one help me on this...
Here are 2 things to double-check in your Google Apps domain:
Ensure that 2-step verification is disabled:
Admin console > Security > Basic settings > Two-step verification
Ensure that your Company Profile for your domain is "education":
Admin console > Company profile > Organisation type
We had a similar problem in our GAFE domain & while we had done step 1, it was step 2 that ensured that this was honoured.
Here's another Google support article on setting up 2FV that i found helpful: https://support.google.com/a/answer/175197?hl=en