I cant connect to my Bot via directline api - c#

I have this error message anytime I try to connect to my bot via directline:
There was an error sending this message to your bot: HTTP status code GatewayTimeout
I didn't have this error at first, it just appeared recently and I dont know what to do, please help. My AppID and Passwords are set correctly.

Related

What and where is the DefaultFullSharedAccessSignature in my Azure Notification Hub

I am following the tutorial on here by microsoft on setting up a notification hub for an iOS app. The "Test Send" section of Notification Hub succeeds in sending the notification, and I actually receive it on my registered device.
However, when I invoke an notification from my C# backend, nothing happens. I even get HttpStatusCode.OK after invoking SendAppleNativeNotificationAsync.
So the Azure Hub setup in Azure portal seems to be fine since the test send works, but my backend is probably wrong somewhere.
On the code below:
private Notifications() {
Hub = NotificationHubClient.CreateClientFromConnectionString(
"<your hub's DefaultFullSharedAccessSignature>",
"<hub name>");
}
What exactly is DefaultFullSharedAccessSignature, and which part of my connection string do I get that?
At the moment here is what I have:
Hub = NotificationHubClient.CreateClientFromConnectionString(
"Endpoint=sb://myappnotificationsns.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=somerandomcharacterhere27374+7384bvbher38434fve0=",
"myappnotifications"
);
nb: thats a fake connection string.
Is this correct or wrong?
Okay, so turns out the above setup is correct.
My issue instead was that the username passed during token registration was null. There is no exception or error from the SDK for some reason. Had to hunt furiously to find the issue.
Hope this helps someone someday.

Twilio "click to call" C#

Here's my scenario - a user enters his phone number and the number of the person he wants to call.
Via c# Twilio calls the user number then connects to the person he wants to call. I then record the conversation.
I can get it all working and recording for a single phone number.
However, when trying to connect to a second number (the first number does ring, but I get the standard Twilio "application error"), I get the following 502 error:
Twilio was unable to fetch content from: https://xxx.xxx.net/Call/Connect?recipientNumber={number}
Error: Error reading response: Response does not contain content type
Account SID: xxxxxxxxxxxxxxxxxxxxxxxx
SID: xxxxxxxxxxxxxxxxxxxxxx
Request ID: xxxxxxxxxxxxxxxxxxxxx
Remote Host: xxx.xxx.net
Request Method: POST
Request URI: https://xxx.xxx.net/Call/Connect?recipientNumber={number}
SSL Version: TLSv1.2
This stems from basic code:
var response = new VoiceResponse();
response.Say("We are about to connect you.").Dial(recipientNumber).Hangup();
return TwiML(response);
Can anyone advise on where I'm going wrong or what I'm missing?
Turns out it was a conflict of versioning and/or DLL's - removed nuget Twilio package and manually added Twilio DLL's. Problem solved!!!

Bot Framework Bad Gateway for Double Quoted messages

I am having a very weird issue, I have a Chat Bot which is surfaced using a HTML page using DirectLine. But now whenever I post a message with DOUBLE QUOTES in it, it just gives me a 502 Bad Gateway error.
JS CODE:
BotChat.App({
bot: bot,
locale: params['locale'],
resize: 'detect',
speechOptions: speechOptions,
user: user,
botConnection: botConnection
}, document.getElementById('BotChatGoesHere'));
Chat Message:
Developer Console Error:
DEVELOPER CONSOLE NETWORK LOG:
I have been working with Bot Framework for quite sometime now, but this is the first time I am facing something like this.
Regards,
Hari
This has come up recently and is specific to the webchat and Directline channels. According to this bug on Github,
The smart quotes conversion are done by Markdown-It.
https://github.com/markdown-it/markdown-it#init-with-presets-and-options
By default, all message without textFormat will assume to be
"markdown". If you send activity of
{ type: 'message', textFormat: 'plain', text: '"What\'s up?"' }
the message will be plain text and not go thru Markdown-It. Quotes will not turn into smart quotes.

Getting IotHub DeviceId with azure functions

I have setup routing to a Service Bus Queue using Azure IoT Hub. I followed this tutorial to get it working: https://azure.microsoft.com/en-gb/blog/how-to-use-azure-functions-with-iot-hub-message-routing/.
In my function I am trying to get the DeviceId so that I can verify the device that the message came from. I have a string parameter called message which receives The message I have sent. However, I need to get the DeviceId from the message. I tried to change the type to EventData but I got a serialisation error because of the JSON message type I think.
I will update this post with the actual code and error message tomorrow but wondered if anyone had come across this issue?
Since you get it from Service Bus Queue, you should be using BrokeredMessage class instead of EvenData.
You should be able to extract Device Id from it.

How to fetch the messaging of linkedin user

I wanted to fetch the messages that was sent to the other connected linkedin users.
I found a code sample to send the message in this site
https://developer.linkedin.com/documents/sample-code-sending-message
But, I did not any sample to fetch the messages.
However, when I tried to fetch the message with the query "/people/~/mailbox", I got the error
"The remote server returned an error: (403) Forbidden."
In detail error message, I got "Access to mailbox denied".
These 2 documentations has listed only the Primary Endpoints "POST /people/~/mailbox" but has not mentioned about GET.
https://developer.linkedin.com/oauth-10a-overview
https://developer.linkedin.com/documents/authentication#oauth2-redirect-uri
Is there any way to fetch the message? Or Is there any workaround?
Any insights or help will be highly appreciated.
Thanks
I don't think Linkedin Inbox is supported any longer through their API. As per this answer on quora,
API is not publicly available but has been made available to several
partners. The best thing to do is contact LinkedIn's BD team for
access.
I was not able to see any specific mention to this type of access in their documentation.
Furthermore, check out APIGEE Snapshot for LinkedIn's 3 main API categories

Categories