Bot SDK with facebook channel - outside Azure deployment - facebook

I have a question related to channels and using bot SDK outside azure, Is there a sample code which shows how to connect the bot SDK with facebook channel without deploying it to Azure? ex: running as a standalone node app and connect facebook callback?. The reason is I checked this sample and inside the logic I can't see it has a facebook channel specific connector is used. So my question is does bot SDK core automatically understand how to interpret messages coming from any channel (in this case facebook) or does this conversion done by the channel connectors only available in Azure deployment?
I would like to use botframework mainly because it has, dialogs and session state already implemented instead of I re-do it again. But I want to use it outside Azure and with facebook channel

Related

Unable to run Echo Bot Google Messaging API. Doesn't reply to "card", "carousel", "chips" strings

I just started Google Messaging APIs 3-5 days ago and couldn't figure out what did I go wrong. I already sent/asked this issue to Google's Support page.
Project is under my generic google account. I created a Service Account under this project for info#ourdomain.com and added it as a Project > Editor role. Got this Json keys, uploaded them together with my python Echo Bot files.
Done registering my partner account as well (info#ourdomain.com) and got verified with the Project Number connected that's in my generic google account. I don't know if this is the right setup where my partner account and project ID are from different Google Accounts (info#ourdomain.com and generic#gmail.com, respectively).
Echo bot sample I used: https://github.com/google-business-communications/bm-python-echo-bot/tree/master/full_sample
Logs:
I'm very familiar with programming Google's services but was unaware of Business Messages until I saw your question (it's interesting, thanks).
There are a couple of references to "select the project that you registered for Business Messages".
Often Google enable non-GA|non-public APIs and other functionality (sometimes by injecting service accounts into the project's policy) by having users register Project IDs and Google accounts. I suspect that's what's happening here and the functionality is either blocked or not working entirely by your use of a different Project.
You may be able to gain more insight from the problem by checking logs. IIUC, an App Engine app is deploy and you should be able to gcloud app logs read --project=[[YOUR-PROJECT-ID]] (or gcloud app logs tail --project=[[YOUR-PROJECT-ID]])

Can we invoke an exe of client machine through ChatBot application which is hosted on azure and channel to access the chatbot is MS Teams

I am working on a chatbot application developed in .net core 3.1, this application is hosted on azure, and all users of the company can interact with this chatbot through MS Teams app, on both platforms through mobile and desktop. So I want to do some automation on user machine, for this, I want to invoke cmd and some exes of client user machine, but I have no idea how to achieve this directly through my chatbot application. I don't want to inkove exe through the client machine browser with some registry changes on user's machine.
This would be a massive security risk, so no, there's no way to do this without installing or implementing things on the user's machine.
Some options are:
Write a custom chat client using directline-js, that executes those commands when it receives data from the bot.
Register a custom URI Protocol handler and have the bot send a URL link in teams. When the user clicks it, the handler grabs it and sends it to the program registered with the handler to execute the appropriate action.
There's probably some other ways to do this but again, it's not possible without the client installing something or making some registry edits.

How to authenticate IOT devices to Google Cloud Services

I have a Raspberry Pi3 device which has Android Things dev preview 0.6.1 installed. On completing certain operations, the device needs to send data to Google Cloud Storage. To do so it must have an API key to authenticate itself.
In Android devices it could be done easily using by integrating Google Sign in Option but since my Android Thing device doesn't have any interface, Google Sign In could not be implemented in it.
I have gone through github project Android Things Weather Station Sample which is using Google Service Account to publish data to PubSub. To do so, it generates and imports a credential.json file into the project and somehow generates credentials from it.
So my question stands is, without user consent, can we use Google Service Accounts to authenticate with Google Cloud Storage? If yes, how can we generate access token from it ? If no, is there any other method to authenticate with GCS?
The simplest and most secure way to authenticate your IoT devices with Google Cloud is using Cloud IoT Core to publish data over MQTT or HTTP into Cloud Pub/Sub. Cloud IoT Core is a bridge designed to securely manage large fleets of devices and authenticate them with your cloud project.
Take a look at the SensorHub sample app on GitHub, which is similar to the weather station, but uses Cloud IoT Core to authenticate and publish instead.
As Shubham stated, using a service account is one way to authenticate devices. Otherwise you'd need to build a mobile companion app which you use to authenticate the user. Then you would have to transfer that token to the IoT device.
In case anyone faces the same issue, I found this document which has explained the way to authenticate devices with Google Cloud without the consent of a user.

How to create a rest api in app maker?

Is there a way to create a REST API in a server side script in app maker?
I need to call a server side function from an iOS app passing some parameters and have a response without having to go to a page in the app.
I know that for regular google apps script it’s possible trough the Execution API but I don’t know how to do it inside app maker.
Thanks.
TL;DR
You cannot use App Maker via Execution API at this time
I tried to use App Script Execution API with App Maker and here are my findings:
You can enable Execution API for App Maker app deployment in Google Cloud Console, just go to Settings -> Deployments -> Select deployment -> View Logs (these steps will navigate you to associated Cloud Project), then follow these instructions to enable API itself and create credentials:
Next goes deal breaker for combining App Maker and Execution API... To use App Script app as API you need to deploy it as 'API executable', but App Maker publishes its deployments as 'web app'... I'm not sure, if one can have App Script app simultaneously published both as 'web app' and 'API executable', but even if it is possible App Maker doesn't allow you do it at this time.

upgrading a custom db to azure app services

I have an exixsting windows 8 app connected to an azure customdb, shared with a web app, using azure mobile services.
I would like to write a new version of the app for windows 10 using azure app services, but I don't find documentation about the changes using a custom existing db.
Where can I find it?
The changes to the database between Azure Mobile Services and Azure App Service are identical. If you want a tutorial on how to use an existing table and project it into mobile apps, I wrote one here: https://shellmonger.com/2016/05/11/30-days-of-zumo-v2-azure-mobile-apps-day-19-asp-net-table-controllers/ - it's part of a sequence of posts, so you may have to go back a couple of posts to get to the start of the ASP.NET ones.