Google home integration with dynamo DB - node.js

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.

Related

Proof Azure Website Ownership to Google Play

My problem is similar to this one. But I need to make one step further.
I whant to publish my website webview on google play. Google Play have rejected my submission but after I send them a email they respond and said that they will allow app publication if I send them pdf with distribution agreement, authorization contract, website domain information or something like that prooving my website ownership. My website hosted on azure. I have domain name like xxxxx.azurewebsites.net. Please help me to understand how can I make pdf document that prooves my website owership.
Will be very greatfull for help!
First, about how to verify your Azure Website ownership, you can refer to these Google documents as below.
Handling Android App Links
Secure and specific: Android App Links use HTTP URLs that link to a website domain you own, so no other app can use your links. One of the requirements for Android App Links is that you verify ownership of your domain through one of our website association methods.
and
Add verification for your deep links: Configure your app to request verification of app links. Then, publish a Digital Asset Links JSON file on your websites to verify ownership through Google Search Console. Learn more in Verify App Links.
Verify Android App Links
To verify ownership of both your app and your website, the following steps are required:
Request automatic app link verification in your manifest. This signals to the Android system that it should verify your app belongs to the URL domain used in your intent filters.
Declare the relationship between your website and your intent filters by hosting a Digital Asset Links JSON file at the following location:
https://domain.name/.well-known/assetlinks.json
The section Verify your website of App Indexing on Google Search in Play Console Help introduces the steps
Sign in to your Play Console.
Click All Applications All applications.
Select the application you'd like to verify.
On the left menu, click Development tools > Services & APIs.
Under "App Indexing from Google Search," click Verify website.
Type your website address.
Click Verify.
Go to Google Search Console.
On the left menu, click All Messages.
Open the verification request message (example: "Google Play: Link http://www.yourwebsite.com to android-app://example.com.yourpackage.name").
Click Approve the request.
Review the information and click Approve. Once approved, your app will appear on the
Search Console Home Page for your account. Be sure that your app enables deep links.
If you have a Google Search Console account or not, here is two links of Verify your site ownership of Search Console Help for old and new Search Console will be helpful.
Tip: Only Google Search Console users with "Owner" permissions can view and approve site verification requests. If you don't see your site verification request, make sure you're signed in using an account with "Owner" permissions.
Second, the xxxx.azurewebsits.net is just a subdomain of azurewebsites.net which be registed by Azure and you can lookup the related info via https://www.whois.net/ as the figure below, so it's not belong to you.
Therefore, you need to register a domain name like abc.com in the Domain Name Registrar like GoDaddy or others, and add a CNAME record with it into DNS server like Azure DNS, then to follow the above steps required by Google to verify your website ownership and collect the necessary information to make a PDF document to send to Google.

how to delete "google sign in account" for development purpose - actions on google

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.

Azure Easy API on Node.js 'No route registered for '/api/xxx'?

I'm having problems even running a simple Easy API method. I keep getting the response that says "No route registered for '/api/userInfo'".
I know that this location is correct because the I'm opening the App Service editor at https://XXXX/dev/wwwroot/api/userInfo.js
The file also has anonymous access, so there shouldn't be an authorization issue. I'm simply trying to hit the api method from a browser.
The code of this very simple method has been reduced to the following for debugging purposes
module.exports = {
"get":function(){
console.log('whooohooo');
}
};
Is there a setting I'm missing to enable the ability to call Easy API's? I've not been able to find any documentation that states that Easy APIs method must be explicitly enabled, nor can I find any settings related to enabling them.
Please note that I did not set up a Node.js project and deploy it to Azure. I am using an "out of the box" app service.
My end goal is to use an Easy API method go get an authenticated user's email and name, but my efforts have been reduced to confirming that I can call a method. Thanks in advance.
UPDATE:
I've created 3 different mobile App services with no luck and varying advantages.
App Service 1:
This Mobile Apps project is 10 months old and was created in the Azure portal. It has a routing line in the app.js file that suggest that the api route should be present, but doesn't work. I don't remember if i authorized the easy apis when i created it, but the fact that it has the following line suggests that I did
mobile.api.import('./api');
AppService 2:
This project was created in the MobileCenter using the Tables menu option for a Xamarin project. I then navigated to the Azure Portal and hooked up a SQL db to the table. I don't think I had the opt in to use Easy APIs, but the I was allowed to create an Easy API script, then edit it. Upon editing it, I realized that the project had no app.js file. Apparently web apps created via MobileCenter are created differently.
I picked this option because it allows you to use the "per-user" flag when setting up tables and doesn't require you to manually filter out data with a modification to the table's script. Apparently this is not an option if you don't set up an App Service via the MobileCenter??
App Service 3:
I created a brand new project within the portal and followed the the steps Aaron Chen laid out. I opted in, hooked up the table and modified the js file (I created a new one called 'testing'). I browsed to https://zzzzapitestzzzz1.scm.azurewebsites.net/api/testing
and got the dreaded no routes found error. Of course, the API method was created with anon access rights.
Basically, we can easily create an Easy API in the Azure portal.
Select your app service and click on Easy APIs in the MOBILE menu.
Enable Mobile extension for your app by clicking Need to configure Easy Tables/Easy APIs ...
Connect a database and then click Initialize App button.
After app initialized, you can add an API from Easy APIs blade.
Change the userInfo.js file to something like this:
Now, we can access the API with the endpoint http://<yourappname>.azurewebsites.net/api/userInfo.
For more info, please refer to this blog post.

Cannot Add the AdSense API in API Manager

I'm trying to follow the AdSense API getting started guide, and I'm getting stuck on the 'Register your application' section.
I have created a project, but I can't find the 'Activate' button. Instead I go to the API Manager, and then the Library tab, where there is a ton of API's listed.
When I click 'AdSense Management API', the site eventually reports 'The API "adsense" doesn't exist or you don't have permission to access it', after about a minute of processing.
I tried adding in the analytics API, and it worked just fine.
Is there a step I'm missing? Do I need to submit an application to Google somewhere?
Thanks for your advice.
This was a silly mistake. The browser I was using ad adblock installed. Disabled adblocking for this site, and everything is fine.

This page is trying to load scripts from unauthenticated sources

I am working on Azure App service API apps.
I followed the steps available in the below link, for implementing user authentication concept to the ToDoListAngular project and successfully deployed in azure, but when i test with the ToDoListAngluar project azure url to add the todoitem it shows error on Google Chrome Address bar "This page is trying to load scripts from unauthenticated sources".
https://azure.microsoft.com/en-us/documentation/articles/app-service-api-dotnet-user-principal-auth/#overview
Please tell me how to resolve the above error.
It sounds like one of your API Urls does not have https:// at the beginning.
My best bet is the "toDoListAPIURL" in your front end site's application settings on the portal. There are a ton of API urls in the source code to check if that doesn't do it. Going back through the getting started tutorial should have them all.

Resources