Webhook not trigering - webhooks

I have an account on dropbox - axxxxh#yahoo.com in which I have a root folder (say myFolder). Inside myFolder I have sub folders sub1, sub2, etc. I wanted to configure webhook so that on file change webhook is being called.
In my app console, I have 1 development user (which I guess is only me, see screenshot)
I have also verified the webhook (see screenshot) as told in webhook tutorial. It says that "if there are no accounts connected to your app, your webhook URI will not receive any webhook notifications." Which is not the case I guess. After all of this, when I change files inside subfolders, nothing is triggering my webhook. Am I missing something here?

I just tried and I was able to successfully register a webhook URI with Dropbox and then receive webhook notifications when making changes in an account connected to the app.
I suggest checking the following to make sure:
you've registered the webhook URI on the same app as the one you've connected to the account
you're making changes in the same account as the one connected to the app
if the app only has "app folder" access, you're making changes inside the special app folder for the app (by default under "/Apps" for accounts with the English locale)
if the app is "scoped", the connected account has authorized the "files.metadata.read" scope to the app (see "Requesting the appropriate scope for your app")
you're checking the logs for the same URI as you've registered as the webhook URI

Related

Azure Bot and Webchat: There was an error sending this message to your bot

I created a bot, deployed it on azure via GitHub actions and tested in the emulator, everything works fine, but when i try to connect the channel "Webchat" i keep receive errors like
There was an error sending this message to your bot: HTTP status code GatewayTimeout
There was an error sending this message to your bot: HTTP status code Unauthorized
There was an error sending this message to your bot: HTTP status code BadGateway
but it kinda changes randomly without me changing anything. Of course i set messaging endpoint in the Configuration tab (The same as i was testing in the emulator, https://appservicename.azurewebsites.net/api/messages) and the check for Enable Streaming Endpoint.
The question is: how to i fix this or how can i even find a solution when the errors are not always the same?
UPDATE More info: I made my app from basic code, i have my
const adapter = new BotFrameworkAdapter({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword
});
ID is taken in Azure Bot Configuration Tab.
Password is created in App Secrets Key Vault, manually created under Secrets.
What im doing wrong?
According to this MSFT documentation, this can happen if you use a self-signed certificate.
If the chat window indicates one or more errors, click the error(s) for additional information. Among the most common issues are:
The bot's endpoint is specified incorrectly in the emulator settings. Ensure that the URL contains the correct port number and the correct path at the end of the URL.
A bot endpoint that starts with https is specified in the emulator settings. The endpoint on localhost should start with http.
The Microsoft App ID field and/or the Microsoft App Password fields in the emulator settings do not contain valid values. Both fields should be filled in, with each field containing the corresponding data.
Security has not been enabled for the bot. Verify that the bot configuration settings specify values for both app ID and password.
Also, try modifying the App Service's Protocol Setting. If you used Bot Composer to deploy your bot, you'll notice two App Services in the resource group: one with a 'qna' suffix and the other without. Choose the one that does not end in 'qna.'
Select the App Service --> TLS/SSL settings --> HTTPS Only --> On
References - Ref1, Ref2, Ref3.

How to connect a published bot to bot channel registration on Azure

I'm new to Azure. I had published a bot (developed locally) to Azure, e.g. named MyBot. It was shown as web service. Then I had created a bot channel registration on Azure e.g. named MyRegistration. As instructed, I wrote down the AppID and client secrete value from MyRegistration. In My Registration->settings, I put https://MyBot.azurewebsites.net/api/messages to the messaging endpoint. In MyBot->Configureation->Application settings, I added "MicrosoftAppId" and "MicrosoftAppPassword" and their values. I turned on "Web sockets" in MyBot->Configureation->General settings. I saved all the changes.
When I run "Test in Web Chat" in MyRegistration, nothing happened. In MyRegistration->Channels, there was "Issues" saying "There was an error sending this message to your bot: HTTP status code InternalServerError".
Can anybody help to point to what the reasons of failure were? Thank you very much.
Not sure the root reason, but I deployed my bot and go through this process but everything works perfectly for me. This is my steps below:
Deploy my bot service to Azure as a web app.
Create a Bot Channels registration, config my bot-message endpoint and Note Microsoft App ID:
Create a new secret, and note its value by clicking "Manage" Link:
Go to app service, and config App ID and App Password
Back to bot channel and have a web test. everything works as excepted:

Google Directory API users endpoint sometimes doesn't return orgUnitPath

I have setup watch channels for the User resource via the Google Directory API to receive push notifications when the resource changes or is created.
When my app receives a notification, it reads the e-mail of the user which was changed/created, then calls the users.get endpoint of the Directory API to get the latest data for that user and finally updates my database with that data.
In most cases this flow works fine, but I've observed that every now and then when a new user is created, the response from the users.get endpoint does not include the orgUnitPath property. It's not set to null, it's not even there. However, if I hit the endpoint again a while later, the property is there.
Does anyone know why this happens?

Google Calendar live sync with node js app

I want to sync google calendar with my app.
When user add some event in the Google calendar at that time, I want these new event in my node server response
Means live sync with google calendar.
I want something like listener that listen new event.
With Google Calendar API you can watch for changes to Events or CalendarList resources, see this and this. Basically you will need to create an endpoint on your server which will receive events/calendars update notifications. When notification arrives, request a calendars/events synchronization. To make the synchronization efficient, use incremental sync. Check this question also to see the algorithm.
You may check this Quickstart tutorial and node-google-calendar.
You need to create a service account if you don't have one. A public/private key pair is generated for the service account, which is created from the Google API console. Take note of the service account's email address and store the service account's json or P12 private key file in a location accessible to your application. Your application needs them to make authorized API calls. If a user wants to give access to his Google Calendar to your application, he must give specific permission for each of the calendars to the created Service Account using the supplied email address under the Google Calendar settings.

Messaging Webhook for Microsoft skype bot

I'm setting up a Microsoft Skype bot, and I want to be able to have it post messages to individual and group chats. I have added a bot at https://developer.microsoft.com/en-us/skype/bots/manage and checked the Messaging checkboxes, but there's a field for "Messaging Webhook", which says "The HTTPS URL to send chat messages and content to. Required if you have a chat capability". What do I put in this field? There's no obvious help link. Do I need to set up an Azure website?
Solution for Node.js:
If you want to test your bot locally, you need to follow the instructions for ngrok described in the comments of this example and this guide. Once you run ngrok, you will obtain a HTTPS URL such as https://62a8271e.ngrok.io. You then need to append /api/calls to this URL, i.e. the webhook URL you need to enter in the Skype channel configurations and as environment variable "CALLBACK_URL" would be https://62a8271e.ngrok.io/api/calls.
If you want to test your bot globally and you have deployed it as an Azure web app, you need to replace the ngrok URL with your bot URL, i.e. the URL should look something like https://yourbot.azurewebsites.net/api/calls. Don't forget to add this URL as an environment variable in your web app settings as well.

Resources