I am trying to test a very basic home automation action. I have followed all the tutorials etc.
Setup OAuth Server
Create Action Name
Set smart home action url
Setup account Linking
Test action in simulator
However I am stuck with testing the action in the simulator. I named my action Testing.
When I got to simulator, it suggests that I say, "Talk to Testing". When I do that. It just says We're sorry, but something went wrong. Please try again.
How do I know whats wrong. I was watching my oAuth Server and no http requests where even made to it. So its not even trying to authenticate.
When you build a smart home action, it's not conversational. Doing "Talk to Testing" would not work as that query does not fit within the standard types of queries that can be made to a smart home action.
To use the simulator for smart home actions, you need to follow the testing guide.
Enable testing for the action
Go to the Google Assistant settings on your phone to do account linking
After this happens, you can send smart home commands directly through the simulator (not conversational), ie. "turn on my light"
Related
I have created a conversational action in Actions Builder that uses account linking via OAuth (not Google sign in). Functionally, everything is working well.
The only issue I noticed is that when I try to link accounts using anything except a phone in the simulator, I get a response telling me to link accounts using the Google Home app. Since my action is a conversational action and not a smart home action, my action will never be found in the Google Home app.
I have confirmed that this kind of account linking is supported with conversational actions (via docs as well as Actions on Google support). What support could not answer for me is what I can do about this, they directed me here for help.
So my question is, how is account linking handled for conversational actions on non-phone devices (e.g. smart speaker)? Does it simply not run at all, or do I have to do something to remove these Google Home prompts?
Thanks
If the Action is running on a device type that does not support a web browser then the authentication step is not going to work. If you have not signed in before, the operation will fail. Though if you have signed in already, any device will be able to retrieve your access token.
The way to do this would be to handle cases for a non-authenticated device that cannot be authenticated. This may mean providing some part of your Action that can run in these conditions. Alternately, you'll need to inform people that they'll first need to use their phone to perform account linking.
We are developing a google smart home action. As per this and this guides we added testers as viewer and shared action and it worked few months ago. Now we don't see this share button in our simulator anymore. Wonder how to share with testers anymore? As guides still wants us to share the project through this button.
Screenshot from documentations:
Screenshot of my simulator:
We are able to add the tester in IAM project, but tester is unable to see the action like owner does ([test] ABC agent) in google assistant app.
Edit 1:
It doesn't work even sharing an action with owner rights. Second user is unable to see that action in Home Control under google assistant app
As per discussion with 'Actions on Google Support Team' they say that "There has been a slight modification on the interface in the simulator page. Unfortunately, the current documentation hasn't been updated yet to reflect this change."
You can still share your Action without the share button. To recap:
Go to the Actions console and select your project.
In the right navigation menu, select the three dot icon and then Manage User Access.
This redirects you to the IAM page for your project.
Click ADD to set a team member's access to your project. You must be an owner of the project.
Type the member's email address in the Members box. To assign view access, from the Roles menu, select Project and then Viewer. The members you add will be able to see the Action on their console. Please note that the system does not proactively notify the added members.
Tester/Viewer will have to login in to console and Enable testing in simulator to see the action in Google Assistant App.
Happy Coding !
I am developing actions for google home. It is still in development phase. I have developed music actions and the songs are playing fine in google-home. I am performing account linking which is also working properly by getting account linking card in home page of google home app. All I want to know is where can i find my actions in google-home app where i can see link/unlink buttons to my actions.
Like in Alexa app i was able to see my skills in your skills -> dev skills section. Is there any way in google-home app like this where i can link/unlink actions. I have checked but i am not able to find this.
You will need to look the Actions Directory. On your phone, you can search and find the action, and then see specific controls for the action like unlinking and clearing user storage.
I created a DialogFlow app that works perfectly in my developer account.
But I need to test it as another user, so in my Google Action simulator, I added another test account as a OWNER to the project.
I verified this user has OWNER status in both the DialogFlow and Google Action UI.
They are able to edit both projects with full access.
However, when the test account tries to use the simulator it says:
Sorry, this action is not available for your app. Sorry, this action
is not available for your app. In the simulator, you are only able to
invoke actions that you have added to your app. For more information
on how to invoke your app, click here
https://developers.google.com/actions/discovery/explicit
This makes no sense to me:
I verified the test user has OWNER/ADMIN status on both DialogFlow and Google Actions for the project.
In DialogFlow, I verified the Google Assist is pointing to Default Welcome Intent as the default intent.
In Google Actions, I verified that the Default Welcome Intent is visible on the BUILD > ACTIONS UI.
As others suggested, I tried renaming the app several times with no luck.
I tried publishing an Alpha version, with still no luck.
My gut tells me it is some sort of permission/visibility problem, but I am completely stuck. Any ideas would be of great help.
EDIT:
THIS ISSUE HAS BEEN SOLVED. SEE COMMENT BELOW.
"I revisited my activity controls and noticed my "Web and App Activity" had a special clause due to organization permissions. I completely missed it due to the confusing UI. Posted a picture in the main thread. Thanks for reminding me to double check that area."
After you asked your company admin to enable this feature, it should be same as the image in below.
This error message is quite misleading. I have encountered this error a couple of times, and generally the problem was with one of the privacy settings in my Google account.
In this case you should go to https://myaccount.google.com/activitycontrols, confirm that you are logged in using your test account, and make sure the following are enabled:
Web & App Activity
Device Information
Voice & Audio Activity
I'm having a lot of trouble testing my google action's account linking. It uses the authorization oauth2 flow for account linking. I do not have transactions enabled but instead have required sign-in on the welcome intent and both of my other (custom) intents.
Immediately after implementing account linking, I tested the flow via the simulator and it worked perfectly. I then wanted to link my google account to a different account on my server, which means I needed to unlink and then link again. This is where things get fuuuuunky.
It looks like the docs are a bit outdated, but I eventually found a way to unlink, at least partially. The note in the blue box at the bottom of this page notes that you can unlink by disabling testing. The UI looks different from the screenshot, but I disabled testing within the Action Simulator UI by toggling 'Testing on Device'. I then re-enabled it and indeed my requests were no longer getting access tokens!
However, at this point, the linking flow was no longer being invoked when I ran commands via the simulator. I waited for a few hours and tried again - no dice. My dialogflow webhook simply isn't getting an access_token in the request body (property no longer exists), which is good, but I'm never prompted to re-link the account.
I tried the same using the Google Assistant app on a phone registered to my google account (same Google account being used in the simulator). Again, it worked the first time but after I toggled testing on my device, it started to fail permanently. So it seems device-specific? I did try an incognito chrome session as well as deleting cookies, neither of which worked.
Any ideas how I can properly unlink and then re-link my account during testing of a google action?
Thanks!